已經在這個錯誤中掙扎了很長時間。下面是代碼的問題該進程無法訪問文件,因爲其他進程正在使用該文件。
for (Int32 Counter = 0; Counter < x.Rows.Count; Counter++)
{
using (FileStream bitmapFile = new FileStream(@"c:/someOlddir/file1.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
using (Bitmap uploadedbitmap = new Bitmap(bitmapFile))
{
using (System.Drawing.Image uploadedbitmapResized = ExtensionHelpers.Resize(uploadedbitmap, 800, 600, RotateFlipType.RotateNoneFlipNone))
{
uploadedbitmapResized.Save(@"c:/someNewdir/file1.txt",System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
}
/*errror occurss on this line */
File.SetCreationTime(@"c:/someNewdir/file1.txt",someDateTimeVariable);
}
我這段代碼遇到的問題是,它工作得很好的集合中的第30或40張圖片,但是當我到了50或60,我得到一個錯誤說我試圖設置日期時間的文件正被另一個進程使用。但是這個錯誤只發生在我迭代一個大集合並在迭代中的第40或第50個位置時,這怎麼可能是前30個圖像工作得很好,然後突然一個文件現在被進程鎖定了。我有使用語句的一切,但這個錯誤仍然存在。
我是否需要等到文件保存前才能訪問它,但這不應該是這樣,因爲我先保存文件然後嘗試訪問它。代碼有什麼問題?
我懷疑這不是你的代碼打開文件。這可能是一些其他程序,只是看到你的新文件,並想看看它。反病毒軟件喜歡這樣做。 –
嘗試修改[磁盤寫入緩存](http://support.microsoft.com/kb/259716),然後查看問題是否仍然存在。 –