2015-03-25 82 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

相关问题