2012-06-04 13 views
-1

У меня есть несколько текстовых файлов с другим именем в одной папке. Я хочу прочитать весь файл один за другим - >> * Только прочитать второй файл после окончания 1-го. После успешного чтения. Он должен удалить файл из каталога. Я могу прочитать один файл. но когда я пытаюсь прочитать все файлы за один выстрел, он дает ошибку. Как я могу использовать поток для чтения и удаления файла. Все файлы имеют одинаковый формат.проблема с несколькими файлами чтения

мой пример код:

 StreamReader objReader = new StreamReader("c:\codeo\testm.txt"); 
     string sLine=""; 
     ArrayList arrText = new ArrayList(); 

     while (sLine != null) 
     { 
      sLine = objReader.ReadLine(); 
      if (sLine != null) 
       arrText.Add(sLine); 
     } 
        objReader.Close(); 

     foreach (string sOutput in arrText) 
      Console.WriteLine(sOutput); 
     Console.ReadLine(); 

для дель:

   private void btnDelete_Click(object sender, EventArgs e) 
      { 
       if (File.Exists(fileLoc)) 
       { 
       File.Delete(fileLoc); 
       } 
      } 
+5

Его приятная привычка принимать ответы людей, прежде чем задавать новые вопросы. – YavgenyP

+0

Вы используете этот код в приложении ASP.NET? Исправьте теги, это, безусловно, не asp-classic –

ответ

0

Попробуйте этот код

DirectoryInfo di = new DirectoryInfo("c:\\codeo\\"); 
FileInfo[] fiArray = di.GetFiles(); 

foreach (FileInfo fi in fiArray) 
{ 
    StreamReader objReader = new StreamReader(fi.FullName); 
    string sLine = ""; 
    ArrayList arrText = new ArrayList(); 

    while (sLine != null) 
    { 
     sLine = objReader.ReadLine(); 
     if (sLine != null) 
      arrText.Add(sLine); 
    } 
    objReader.Close(); 

    foreach (string sOutput in arrText) 
     Console.WriteLine(sOutput); 
    Console.ReadLine(); 

} 
0

Это необходимо еще некоторое уточнение, например, какую ошибку вы получаете. Как я мог бы это сделать:

//Store all filenames within a List<string> 
public void ReadFiles(List<string> filenames) 
{ 
    string line = null; 
    foreach(string file in filenames) 
    { 
     //The using will manage the closing and handle exceptions safely 
     using(StreamReader reader = new StreamReader(file)) 
     { 
      while((line = reader.readLine()) != null) 
      Console.WriteLine(line); 
     } 
     if(File.Exists(file)) 
      File.Delete(file); 
    } 
} 

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

Смежные вопросы