У меня маленькая проблема. Позвольте мне объяснить рабочее место.
Структура моего текстового файла:
X_OFFSET 0
Y_OFFSET 0
IDSTART
0001 222 222 222 222
0002 250 500 250
0003 1700 500 500 250
0004 900 600 500 250
0005 1350 250 500 250
IDEND
Что мне нужно сделать, так это найти блок IDSTART-IDEND и УДАЛИТЬ специальную строку между ними.
Пример: пользовательский набор id1 123 124 125 126 => id1 означает идентификатор, 123 означает центр X, 124 означает центр Y, 125 означает центр Z и 126 означает радиус.
Место работы:
Пользователь вводит номер идентификатора (например, id5) в текстовое поле, затем нажимает кнопку, чтобы удалить всю строку, начинающуюся с «id5» ...
это возможно? если это так, как я могу это сделать?
[Improved_v2]
Окей, я внес некоторые изменения, и теперь это работает. Но есть проблема.
FileStream fs = new FileStream ("C: \ hucre.txt", FileMode.Open);
StreamReader okuma = новый StreamReader (фс);
строка Metin = okuma.ReadToEnd ();
char [] Ayrac = {'\ n'};
MetinSplit = Metin.Split (Ayrac);
for (int i = 0; i < MetinSplit.Length; i++)
{
GeciciDizi.Add("a");
GeciciDizi2.Add("b");
}
// MetinSplit'i GeciciDiziye At.
for (int i = 0; i < MetinSplit.Length; i++)
{
GeciciDizi[i] = MetinSplit[i];
}
for (int i = 0; i < MetinSplit.Length; i++)
{
GeciciDizi2[i] = MetinSplit[i];
}
for (int i = 0; i < GeciciDizi.Count; i++)
{
if((string)GeciciDizi[i]==SilinecekDeger)
GeciciDizi.RemoveAt(i);
}
for (int i = 0; i < GeciciDizi.Count; i++)
{
GeciciDizi2[i] = GeciciDizi[i];
}
okuma.Close();
fs.Close();
FileStream newFile = new FileStream("C:\\hucretemp.txt", FileMode.Open);
StreamWriter yaz = new StreamWriter(newFile);
for (int i = 0; i < GeciciDizi2.Count; i++)
{
yaz.WriteLine(GeciciDizi2[i]);
}
yaz.Close();
yeniFile.Close();
File.Delete("C:\\hucre.txt");
File.Move(@"C:\\hucretemp.txt", @"C:\\hucre.txt");
}
}
Здесь проблема в следующем.
Когда я читаю из файла hucre.txt в свой tempArrayList, он записывается в массив, как показано ниже.
X_OFFSET 0 \ r \ n
Y_OFFSET 0 \ r \ n
IDSTART \ г \ п
0001 222 222 222 222 \ r \ n
0002 250 500 250
0003 1700 500 500 250
0004 900 600 500 250
0005 1350 250 500 250
IDEND
добавляет еще один \ r.
Итак, когда я хочу прочитать что-то из "hucre.txt",
Я не могу это сделать, потому что
это становится таким 0001 222 222 222 222 * \ r \ r \ n *
Как я могу удалить это?
Я действительно в отчаянии, пожалуйста, помогите: /
Мои наилучшие пожелания ...