2016-02-05 2 views
-2

Я пишу программу для вычисления оценки Флеша. Я хочу импортировать несколько файлов, анализировать их, а затем выводить soloution в консоли. Как я могу читать только файлы .txt с именем «testcase»? F.E. "Testcase_text1.txt".Открыть несколько файлов с определенными именами

+0

вы пытались что-то? – Anil

+0

На самом деле ничего не известно об этом. Возможно, что-то вроде этого: 'string [] dirs = Directory.GetFiles (@" S: \ work \ Flesch_Reading_Ease \ "," testcase * ");' – user5462581

+0

С какой частью вашего вопроса возникают проблемы? Какой у вас код и где вы застряли? –

ответ

0
for (int i = 0; i < 10; i++) { 
    StreamReader sr = File.OpenText("testcase_text" + i + ".txt"); 
    // process the file... 
} 
1

вы могли бы получить все имена файлов в массиве, делая это

string[] files = System.IO.Directory.GetFiles(source_folder, "testcase*.txt"); 

Затем просто получить доступ к любому файлу, который вы хотите, и процессу его. Вы можете использовать EnumerateFiles вместо GetFiles и начать обработку файла, как только он будет извлечен.

1

Я предлагаю использовать Linq с Directory.EnumerateFiles, чтобы получить исходные файлы для продолжения:

var source = Directory 
    .EnumerateFiles(@"C:\MyFiles", "testcase*.txt") 
    .Select(file => new { 
     Name = Path.GetFileName(file), 
     Score = FleschKincaidScore(file) //TODO: implement FleschKincaidScore 
    }) 
    .OrderBy(item => item.Score) // let's sort the records 
    .ThenBy(item => item.Name) 
    .Select(item => String.Format("File {0} has score {1}", item.Name, item.Score)); 

    // Final report 
    Console.Write(String.Join(Environment.NewLine, source)); 
Смежные вопросы