FileStream只写入原始字节。当我使用SoapFormatter进行序列化时,如果我打开文件,我可以看到那里有类似 XML 的文本。我认为您必须在将每个字符传递给FileStream之前对其进行编码,并且写入 FileStream 的数据不会作为文本传递。
问问题
90 次
1 回答
1
不知道能不能解释清楚。但是让我试试。
一个类,获取一个文件流并输出文本文件,可以以各种方式实现......
例如;
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);
}
}
于 2013-05-30T17:13:07.250 回答