【发布时间】:2014-07-06 19:08:50
【问题描述】:
这是我在文件中写入的函数:
FileStream file = new FileStream ("c:/Redirect.txt", FileMode.OpenOrCreate, FileAccess.Write);
public void writeFile(string line, FileStream file)
{
StreamWriter writer;
TextWriter oldOut = Console.Out;
try
{
writer = new StreamWriter(file);
}
catch (Exception e)
{
Console.WriteLine("Cannot open Redirect.txt for writing");
Console.WriteLine(e.Message);
return;
}
Console.SetOut(writer);
Console.WriteLine(line);
Console.SetOut(oldOut);
writer.Close();
file.Close();
Console.WriteLine("Done");
}
这就是我使用它的方式:
writeFile("********* Clienta *********",file);
writeFile("Centre *** " + id,file);
但是当我运行我的代码时,我得到了这个错误:
Cannot open Redirect.txt for writing
The stream can not be written.
我的代码有什么问题?
【问题讨论】:
-
您重定向控制台只是为了写入文件有什么特别的原因吗?
StreamWriter具有用于编写看起来像Console对象的字符串的方法。 IMO 无需在此处重定向控制台并使用Console.WriteLine,除非您的程序的其他部分使用Console.WriteLine,您有时需要将其定向到文件。
标签: c# console-application filewriter