2015-03-25 96 views
0

我想將控制檯輸出寫入文本文件。這是我的代碼。無法在文本文件中編寫控制檯輸出

String filePath = "C:/Users/User/Desktop/New folder/"; 
      String fileName = "newop.txt"; 
      if (!File.Exists(filePath + fileName)) 
      { 
       File.Create(filePath + fileName).Dispose(); 

       using (StreamWriter sr = new StreamWriter(filePath + fileName, false)) 
       { 

        sr.WriteLine(currLink.Url); 
       } 
      } 
      Console.WriteLine(currLink.Url); 
      ie.Element("button_next").Click(); 

     } 
+2

那麼,您是否將控制檯輸出轉換爲文本文件? – Default 2015-03-25 13:06:20

+2

這行應該做什麼:'File.Create(filePath + fileName).Dispose();'? – Default 2015-03-25 13:07:09

+0

是的,我想寫在文本文件的控制檯輸出 – 2015-03-25 13:07:40

回答

1

你想要的代碼是這樣的:

String filePath = "C:\Users\User\Desktop\New folder"; 
String fileName = "newop.txt"; 
using (StreamWriter sr = new StreamWriter(Path.Combine(filePath, fileName), true)) 
{ 
    sr.WriteLine(currLink.Url); 
} 
ie.Element("button_next").Click(); 

這將在每次調用時追加到文件。

如果要重置在節目開始時的文件,使用這段代碼:

File.WriteAllText(Path.Combine(filePath, fileName), string.Empty); 

這將創建一個空文件給你。

你在你的問題有代碼的其餘部分將執行以下操作:

  1. 只運行一次,如果文件不存在,下一次,當文件確實存在,代碼寫入文件不再運行(if (!File.Exists...
  2. 它創建了一個空文件每次(File.Create(....
  3. 它與StreamWriter的(在, false在調用構造函數)打開時,它覆蓋文件

無需執行任何操作,只需要求StreamWriter打開文件進行寫入,如果存在(, true),請寫入該文件。如果文件存在,請取消檢查,取消對File.Create的調用,或者如果要在某個時刻重置文件,請移動它。

+0

仍然只打印一行 – 2015-03-25 13:22:45

+0

如果您現在看不到代碼,則無法跟蹤該評論。我可以擔保,我上面發佈的代碼將不斷添加到現有文件中。問題是你還在做什麼? – 2015-03-25 16:07:56

相關問題