问题描述
现在存在这么一个问题想像各位大侠请教:现在想对一个文件夹下进行监视,当有文件的时候,程序就开始读取该文件内的数据,没有的时候就继续监视。我可以从其他地方拷贝文件过来,不管怎么样,只要有文件,就读。现在问题是,我用的System.io读取的文件,我将该监视的文件夹设置成一个共享可写的文件夹,我在我通过其他计算机在这个共享的文件夹下生成一个文件,并且写入一条数据。因为这个生成文件的过程,我是通过用程序实现的,所以,在另一端读取的时候,就发生了文件流被占用的异常。请问,这个问题该怎么解决。有没有什么消息或者事件能够判断出该文件已经生成完成了?A机(读文件,监视文件夹为共享可写文件夹)B机(去A机的共享文件夹创建一个文件,并写入所需的数据)这时,A机监视到了有文件的存在,所以去读取文件内的数据,但该文件却被B机的写程序占据这文件流没有被放开。所以,A机出现了异常。我想过通过一个无限循环,去判断文件是否被占用,但是这个想法存在的危险性非常大,所以放弃了。现在就想通过各位大侠的才智,帮忙想一个更好的方式,解决该问题,小弟谢谢各位了。
解决方案
解决方案二:
自己顶,占据沙发~~
解决方案三:
可不可以这样:获取文件的修改时间,如果现在时间-修改时间>1分钟,则开始复制该文件。
解决方案四:
如果打开文件产生异常,则放弃打开,等待10秒左右再开始重新打开这个文件。
时间: 2024-10-27 08:22:15