可能重複:
Is there a way to check if a file is in use?FileStream:如何檢查文件是否準備好,未使用?
我看到有一個很簡單的方法來檢查文件被解鎖,不被另一個進程使用:
public static bool Check(string filepath)
{
try
{
using (File.Open(filepath, FileMode.Open, FileAccess.Read, FileShare.None)) {}
}
catch (Exception e)
{
log("file not ready" + e);
return false;
}
return true;
}
好這很好,但是如何檢查Method是否會使用FileStream作爲參數?
public static bool Check(FileStream f)
{
//...
有什麼建議嗎?謝謝
看看http://stackoverflow.com/questions/876473/is-there-a-way-to-check-if-a-file-is-in-use – coolmine
@CooLMinE多數民衆贊成在一個很好的線程。但他們都使用字符串到完整路徑或FileInfo。我只有FileStream。 – miri
你需要什麼是不可能的。除非您發送空FileStream作爲參數並在Check方法中初始化它。通過在將它發送給Check方法之前對其進行初始化,這意味着您已經檢查了在將文件作爲參數發送之前是否可以訪問該文件。 – coolmine