Joh*_*ith -1 c# streamwriter streamreader
我必须处理一些包含西里尔文本的文件,我在Visual Studio 2012 Ultimate中使用StreamReader/ StreamWriter.
然而,有一些荒谬的问题(或我的误解).以下构造函数工作得很好:
using (StreamReader reader = new StreamReader(someFile, Encoding.Default)){
}
Run Code Online (Sandbox Code Playgroud)
然而,当我尝试以下内容时:
using (StreamWriter writer = new StreamWriter(someOtherfile, Encoding.Default)){
}
Run Code Online (Sandbox Code Playgroud)
我得到一个ivalid构造函数的编译时错误.然而,以下是MSDN的规范:
public StreamWriter(Stream stream, Encoding encoding);
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
如果你看看之间的差异StreamWriter和StreamReader你会看到,虽然有是一个构造的:
StreamReader(string, Encoding)
Run Code Online (Sandbox Code Playgroud)
有没有一个构造函数
StreamWriter(string, Encoding)
Run Code Online (Sandbox Code Playgroud)
我的猜测是该类型的someFile和someOtherFile是string不是Stream.
我还建议你不要使用,Encoding.Default除非你真的,确定你想要特定于平台的默认编码,这可能无法处理所有的Unicode.如果可能,请使用UTF-8代替.