У меня есть текстовый файл со списком номеров деталей. Мне нужно добавить первый номер части каждой строки с системным номером. данных выглядит следующим образом:Вставить текст в фиксированное положение в каждой строке текстового файла
94-CP1019011;967;94-EA1015590;1; 94-CP1019011;980;94-EA1020966;1; 94-CP1019011;669;94-EA1019084;1; 94-CP1019011;655;94-EA1015807;1; 94-CP1019011;326;94-KT1016113;1; 94-CP1019013;383;94-KT1015547;1; 94-CP1019013;608;94-MA1013256;1; 94-CP1019013;924;94-MA1019863;1; 94-CP1019013;384;94-MA1014969;1;
Первый номер детали всегда 12 голец, поэтому я попытался это:
TextReader reader = new StreamReader("C:/Temp/BOM.txt");
TextWriter writer = new StreamWriter("C:/Temp/xBOM.txt");
for (;;)
{
string s = reader.ReadLine();
if (s == null)
break;
s = s.Insert(12, "-814590");
writer.WriteLine(s);
}
По какой-то причине он не завершает весь файл и желательно, я хотел бы, чтобы он модифицировал один файл, а не создавал новый. Любая помощь оценивается.
Куда вы закрываете или убираете писателя? –
Петля в порядке - это стандартная петля и полтора. Проблема находится вне кода, который вы опубликовали. Я подозреваю, что вы не закрываете файл, прежде чем пытаться его использовать. Кроме того, единственный способ изменить исходный файл таким образом - создать новый, как вы делаете, а затем удалить старый и переименовать новый. Если вы не сможете прочитать все это в памяти - см. Ответ Хари Прасад. –