2015-04-28 2 views
-3

Я новичок в C#. У меня есть текстовый файл с (;) разделенными значениями, сохраненными в определенной папке. Я хочу прочитать текстовый файл и скопировать строки на основе первых значений столбца и поместить их в несколько текстовых файлов. Кроме того, я хочу, чтобы имя файла скопированного файла автоматически сохранялось с определенным именем файла. - iMAN_SS_KBH_ + (the copied column values) + date.txt. Как я могу запрограммировать это с помощью C#.Копирование строк из одного текстового файла в несколько текстовых файлов на основе значений первого столбца C#

4363594-3 ;; 332C_MI_TE3F82; К3; МИ-3E57911; 3; 1 ;; ZZPI; THES; Wlen;
4363594-3 ;; 341A; 000; MI-5E41565; 1; 1 ;; ZZPI; THES; WLEN;
4363594-3 ;; 341A; 12; MI-2D79976; 1; 1 ;; ZZPI; THES; WLEN;
4340007-3; 90101-0133; 000; 3166916-4; 1; 1 ;; ZZPI; KOKO; LRR;
4340007-3 ;; 90101-0133; 018; EN61V1216; 4; 1 ;; ZZPI; KOKO; LRR;
4340007-3 ;; 90101-0133; 031; 1296651-4; 4; 1 ;; ZZPI; KOKO; LRR;

В приведенном выше примере мне нужно прочитать и скопировать строки со значениями 4363594-3 и 4340007-3 в два отдельных текстовых файла с указанным именем файла, о котором я упоминал.

Большое спасибо, и я надеюсь, что кто-то может помочь мне с программированием.

+1

"? Как я могу запрограммировать с помощью C#" - Я бы рекомендовал использовать TDD в качестве хорошей практики. Наверное, слишком широкий совет, так что комментарий. Если вам нужна более конкретная помощь - отредактируйте вопрос, чтобы быть более конкретным. –

+0

Я не знаю, с чего начать, но то, что я имею в виду, - это прочитать текстовый файл для поиска значения первых столбцов и цикла в нем, чтобы сравнить его, и если следующее значение не соответствует предыдущему, оно будет скопируйте в другой файл, и он продолжит следующее значение и скопирует следующий в другой текстовый файл. – wilmers16

ответ

0

Вот начало:

//To read all lines from a text file: 
var lines = File.ReadAllLines(filename); 

foreach(var line in lines) 
{ 
    //Separate by semi-colon: 
    var splitText = line.Split(';'); 

    //Do what ever you want with all pieces like this: 
    var piece = splittext[0]; 
}