FileStream只写入原始字节。当我使用SoapFormatter序列化时,如果我打开该文件,我可以看到那里有类似于XML的文本。我认为,在将每个字符传递给 FileStream 之前,必须对其进行编码,而写入FileStream的数据并不是以文本形式传递的。
发布于 2013-05-30 17:13:07
我不知道我能不能解释一下。但让我试试。
一个类,接受Filestream并输出文本文件,可以以各种方式实现.
例如;
public class SomeClass
{
FileStream _file = null;
public SomeClass(FileStream f)
{
_file = f;
}
void WriteString(string s)
{
byte[] buf = Encoding.UTF8.GetBytes(s);
_file.Write(buf, 0, buf.Length);
}
}或
public class SomeClass
{
TextWriter _Writer = null;
public SomeClass(FileStream f) : this(new StreamWriter(f,Encoding.UTF8))
{
}
public SomeClass(TextWriter tw)
{
_Writer = tw;
}
void WriteString(string s)
{
_Writer.Write(s);
}
}https://stackoverflow.com/questions/16841420
复制相似问题