2013-05-30 41 views
1

FileStream只写原始字节。当我序列化使用SoapFormatter如果我打开文件,我可以看到有XML像文本。我以为你必须对每个字符进行编码,然后将它传递给FileStream,写入FileStream的数据不会作为文本传递。SoapFormatter和FileStream如何协同工作/

回答

1

我不知道我能不能解释一下。但让我试试。

,A级,采取了文件流和输出的文本文件,可以通过多种方式实现......

例如;

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); 
    } 
}