C#复制正在写入的文件
发布时间:2020-12-16 01:57:29 所属栏目:百科 来源:网络整理
导读:我已经阅读了很多关于这个主题的其他帖子,但似乎都没有直接解决我的问题(这让我感到惊讶). 无论如何……我写了一个日志解析器,非常简单,我想在解析之前从本地复制远程机器上的文件.我正在尝试复制的文件正在不断写入,我在复制它时“随机”成功.有时它会工作,
我已经阅读了很多关于这个主题的其他帖子,但似乎都没有直接解决我的问题(这让我感到惊讶).
无论如何……我写了一个日志解析器,非常简单,我想在解析之前从本地复制远程机器上的文件.我正在尝试复制的文件正在不断写入,我在复制它时“随机”成功.有时它会工作,有时我会得到’访问被拒绝’或FileAccess错误.其他几点: >每当我使用Windows资源管理器在本地复制文件时,我永远不会 有没有人对如何复制这个文件有任何建议? 我正在使用的当前命令是: File.Copy(this.txt_log_file_to_analyze.Text,sLogFileToAnalyze,true); 解决方法
我想你必须使用以下方法打开文件:
File.Open(this.txt_log_file_to_analyze.Text,FileMode.Open,FileAccess.Read,FileShare.ReadWrite) 然后“手动”复制文件的内容,即 using (var from = File.Open("path",FileShare.ReadWrite)) using (var to = File.OpenWrite("to_path")) { from.CopyTo(to); } 或者如果.NET 4.5见How do I copy the contents of one stream to another? 使用上面的api,您可以指定不希望对文件进行独占访问. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |