В настоящее время у меня возникла проблема с 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();
}
}
}
Итак, мой вопрос: как закрыть этот файл для следующего удаления (или как правильно удалить его, если мы не можем его закрыть)?