我们将文件发送到我们的FTP(Windows Server 2008 R2),我们的一项服务选择要处理的文件。我们FTP的文件是500 MB甚至更多的订单.. 如何在C#中确定文件已完成复制到FTP目录?我还不想在文件被复制时阅读它。
答案 0 :(得分:2)
尝试独占锁定阅读
string filename = "Test.txt";
try
{
using(FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.None))
{
// Read content here
}
}
catch(IOException)
{
// Occurs if the file cannot be exclusively locked.
}
答案 1 :(得分:1)
通常,在写入操作期间,文件将被ftp-server锁定。
所以你可以做的是尝试用独占锁打开文件进行阅读。如果失败(抛出异常),您就知道该文件不可用。