{
lock (o)
{
using (FileStream fs = new FileStream(filename, FileMode.Append, FileAccess.Write))
{
byte[] bytData = rawSerialize(obj)
fs.Write(bytData, 0, bytData.Length)
fs.Close()
}
}
}
第一,尝试下释放fs?
第二,尝试下运行共享写?using (FileStream fs = new FileStream(filename, FileMode.Append, FileAccess.Write,FileShare.Write))?
在Label1.Text =charData .ToString()前面加上string s = new string(charData)
然后改成Label1.Text =s
我们看不到。net Framework 的源代码,但猜测ReadAllText()基本上应该也是用Filestream的read方式实现的。多一个方法就可以让你少写很多行的代码,不用处理Filestream的Dispose。这就是写library的人比较聪明之处吧。当然具体比较两个方法,ReadAllText()是一个简单的方法,你一次读出所有的内容。而直接read Filestream,你有更多的控制,但也需要自己初始化Filestream,记得Dispose FileStream.
简单说吧,ReadAllText()像月票,Read 像每次坐车现买车票。
WriteAllText, 和 Write 方法和前面的一对类似。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)