我有一個可以修改圖像的應用程序。在某些情況下,這會使文件大小變小,在某些情況下會變大。File.Replace拋出IOException
該程序沒有「如果結果有更大的文件大小不替換文件」選項。
所以我寫了一個小小的C#應用程序來嘗試解決這個問題。
而不是覆蓋文件,我讓應用程序將結果寫入當前文件夾下的文件夾並命名爲Test文件夾。
我寫的C#應用程序比較抓取兩個文件夾的內容,並將文件的完整路徑放在兩個List對象中。然後我進行比較和替換。
但是替換不起作用。我得到以下IOException異常:
無法刪除該文件是 更換
位置是外部硬盤驅動器,關於這一點我有充分的權利。
現在,我知道我可以按照該順序執行File.Delete和File.Move,但是這個異常讓我對感興趣,爲什麼這個特定的設置無法工作。
這裏的源代碼:http://pastebin.com/4Vq82Umu
是的,指定的文件作爲替換函數的最後一個參數確實存在。
我去了我用的是類,而不是他們的單獨一個自IDisposable繼承。我如何實現在這個使用? – KdgDev 2010-04-05 23:24:52
如果您爲文件打開了FileStream,它將實現IDisposable。 – 2012-03-01 06:29:14