我已经阅读了很多关于这个主题的其他帖子,但似乎都没有直接解决我的问题(这让我感到惊讶).
无论如何......我写了一个日志解析器,非常简单,我想在解析之前从本地复制远程机器上的文件.我正在尝试复制的文件正在不断写入,我在复制它时"随机"成功.有时它会工作,有时我会得到'访问被拒绝'或FileAccess错误.其他几点:
有没有人对如何复制这个文件有任何建议?
我正在使用的当前命令是:
File.Copy(this.txt_log_file_to_analyze.Text, sLogFileToAnalyze,true);
Run Code Online (Sandbox Code Playgroud)
我想你必须使用以下方法打开文件:
File.Open(this.txt_log_file_to_analyze.Text,FileMode.Open,FileAccess.Read,FileShare.ReadWrite)
Run Code Online (Sandbox Code Playgroud)
然后复制'手动'文件的内容即ie
using (var from = File.Open("path", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (var to = File.OpenWrite("to_path"))
{
from.CopyTo(to);
}
Run Code Online (Sandbox Code Playgroud)
或者如果.NET 4.5,请参阅如何将一个流的内容复制到另一个流?
使用上面的api,您可以指定不希望对文件进行独占访问.
| 归档时间: |
|
| 查看次数: |
1243 次 |
| 最近记录: |