C# FileStream读写文件(.txt)时候用excel *** 作此文件,写入数据线程会被终止

C# FileStream读写文件(.txt)时候用excel *** 作此文件,写入数据线程会被终止,第1张

private void WriteIntoFile(object obj,string filename)

{

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 方法和前面的一对类似。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11695942.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存