我想刪除一個文件,有時我可以,有時候我不會。我這樣做:用Java刪除文件
String filePath = "C:\\Users\\User\\Desktop\\temp.xml";
File f = new File(filePath);
if (f.exists())
{
if(f.delete())
System.out.println("deleted");
else
System.out.println("not deleted");
}
我認爲,當我不能刪除它是因爲它仍然在應用程序的某個地方打開。 但是,如果我不使用FileInputStream
或BufferedReader
,我怎麼能關閉它?因爲如果我使用這些類,我不能看到文件是否存在。或者我可以嗎?
編輯: 我剛發現我的錯誤。我這樣做:
XMLEventWriter eventWriter = outputFactory.createXMLEventWriter(new FileOutputStream(filePath));
然後,關閉只是eventWriter
。
,我必須這樣做:
FileOutputStream fos = new FileOutputStream(filePath);
XMLEventWriter eventWriter = outputFactory.createXMLEventWriter(fos);
然後:
eventWriter.close();
fos.close();
你說的是權限嗎?我檢查了這一點,並且我有權寫入,讀取和執行。 – user2144555
您是否還檢查另一個進程是否仍然存在該文件的句柄? – Fildor
不可以。我怎樣才能看到? – user2144555