c# – 当使用.NET附加到大文件时,如何避免过多的网络文件I/O?
发布时间:2020-12-15 07:39:50 所属栏目:百科 来源:网络整理
导读:我有一个程序打开一个大的二进制文件,向它添加少量数据,并关闭该文件. FileStream fs = File.Open( "\s1temptest.tmp",FileMode.Append,FileAccess.Write,FileShare.None );fs.Write( data,data.Length );fs.Close(); 如果test.tmp在运行此程序之前为
我有一个程序打开一个大的二进制文件,向它添加少量数据,并关闭该文件.
FileStream fs = File.Open( "\s1temptest.tmp",FileMode.Append,FileAccess.Write,FileShare.None ); fs.Write( data,data.Length ); fs.Close(); 如果test.tmp在运行此程序之前为5MB且数据阵列为100字节,则此程序将导致超过5MB的数据通过网络传输.我原本以为文件中的数据不会通过网络传输,因为我没有读它或写它.有什么方法可以避免这种行为吗?这使得追加非常大的文件非常缓慢. 解决方法
0xA3在上面的一个提交中提供了答案.性能不佳是由于访问时病毒扫描造成的.每次我的程序打开文件时,病毒扫描程序都会读取文件的全部内容以检查病毒,即使我的程序没有读取任何现有内容.禁用按访问病毒扫描可消除过多的网络I / O和性能不佳.
感谢大家的建议. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |