【发布时间】:2021-06-08 16:51:26
【问题描述】:
我正在编写一个从网络上的文件共享读取的 Windows 服务。有时文件被写入文件共享,然后很快被删除。有没有一种方法可以让我在读取文件的同时也允许删除文件?
基本上我有一个 filesystemwatcher 监视网络路径,然后在该目录的 Created 事件中检查文件路径,然后尝试在新线程上读取文件。当将文件写入目录的应用程序试图快速删除它时,它会收到 IOException ,说明有另一个进程正在使用该文件。我没有在网络电脑上写app,不想打断它的正常功能
这是我的代码
public async Task Copy(string src, string dest) {
using (FileStream srcReader = File.Open(src, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (Stream destWriter = File.Create(dest)) {
await srcReader.CopyToAsync(destWriter, cancelToken);
}
【问题讨论】:
标签: c# streamreader