我想删除一个文件,有时可以,有时不能。我正在这样做:
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();