Закройте файл, созданный с помощью FileOutputStream, для следующего удаления
В настоящее время я сталкиваюсь с некоторой проблемой с FileOutputStream в моем коде Java.
На самом деле я использую FileOutputStream для создания файла, но затем, когда файл создан, его невозможно удалить. Насколько я мог понять, это может быть связано с тем, что FileOutputstream не закрыт.
Ниже мой обобщенный код:
outFile = new FileOutputStream(dir+"\\"+fileName);
outFile.write("Test");
outFile.flush();
outFile.close();
outFile = null;
System.gc();
Тогда нет никакого способа удалить файл, даже "вручную". Когда моя программа запущена, я не могу удалить ее в Windows простым нажатием кнопки Del. Я также пытался удалить содержимое папкиdir и это не сработало, используя этот код:
static public void delDir( String place )
{
File path = new File( place );
System.out.println(path.exists());//return true
if( path.exists() )
{
File[] f = path.listFiles();
for( int j = 0 ; j < f.length ; j++ )
{
if( f[ j ].isDirectory() )
{
deleteDirectory( path+"\\"+f[ j ] );
}
f[ j ].delete();
}
}
}
So my question is : How to close this file for a next delete (or how to delete it properly if we can't close it)?