在我的項目中,我必須在USB設備中創建一些臨時文件,我想在關閉時刪除這些文件。所以我使用的代碼如使用DeleteOnClose File選項的FileStream
this.fcommandHandler = new FileStream(TempFileName,
FileMode.CreateNew, FileAccess.ReadWrite,
FileShare.ReadWrite, 512, FileOptions.DeleteOnClose);
它工作正常。但問題是我想使用一個更多的FileOption,就像無緩衝。
private const FileOptions FILE_FLAG_NO_BUFFERING = (FileOptions)0x20000000;
this.fcommandHandler = new FileStream(TempFileName,
FileMode.CreateNew, FileAccess.ReadWrite,
FileShare.ReadWrite, 512, FileOptions.DeleteOnClose & FILE_FLAG_NO_BUFFERING);
但它沒有關閉後刪除文件。請幫忙。
但是我收到了一個異常:「IO操作無法正常工作,很可能文件將變得太長或者句柄沒有打開以支持同步IO操作。」,如果我把|而不是&,當我調用this.fcommandHandler.Close() – Anuraj
@Anuraj:這並不意味着|這是錯誤的,這意味着您的使用情況不正確。 Lasse是正確的,你需要|代替 &。例外是你要解決的下一個問題。 –
@Jeff Yates:謝謝讓我嘗試一些其他選項。 – Anuraj