2015-07-21 31 views
0
while (readIt.Peek() >= 0) { 
    if (line.Contains("[email protected] : Record 50000;")) { 
     MessageBox.Show("Fajl ne treba da se menja"); 
     System.IO.File.Copy(txtb_Input_Folder.Text + Path.GetFileName(fileName), txtb_Output_folder.Text + Path.GetFileName(fileName), true); 

    } else { 
     line = readIt.ReadLine(); 
     if (line.Contains("PROPERTIES") && !line.Contains("OBJECT-PROPERTIES")) { 
      sb.Append(line); 
      nasao_prop = true; 
     }......... 

所以問題是當它找到「LogObjectUsage @ 1000000000:Record 50000」時然後我在while循環中,我不知道如何去下一行。如何去文件中的下一行

我被卡在那一行,我得到無限TextBoxes。有人能幫我嗎?在找到「LogObjectUsage @ 1000000000:Record 50000」後,如何在下一行中讀取數據?線?

+0

'readIt.ReadLine'讀取下一行,從閱讀你有什麼在這裏,我不明白你爲什麼要一遍又一遍地讀同一線,除非有另一個迴路的某處。 –

+0

正確。那是我需要的。我解決了這個問題!謝謝, –

+0

是的,我看到了這個問題,我相信你找到了它,你沒有閱讀'if'語句第一部分中的下一行,如果你發現線。 –

回答

0

感覺就像你想先讀一行,然後檢查它。你正在做的是試圖在工作流程中把這條線讀得太晚。

while (readIt.Peek() >= 0) 
{ 
    var line = readIt.ReadLine(); 
    if (line.Contains("[email protected] : Record 50000;")) 
    { 
     MessageBox.Show("Fajl ne treba da se menja"); 
     System.IO.File.Copy(txtb_Input_Folder.Text + Path.GetFileName(fileName), txtb_Output_folder.Text + Path.GetFileName(fileName), true); 

    } 
    else 
    { 
     if (line.Contains("PROPERTIES") && !line.Contains("OBJECT-PROPERTIES")) { 
      sb.Append(line); 
      nasao_prop = true; 
     } 
     ......... 
    } 
    ... 
} 
相關問題