Zamknij plik utworzony za pomocą FileOutputStream, aby usunąć następny
Obecnie mam problem z FileOutputStream w moim kodzie Java.
Właściwie używam FileOutputStream do tworzenia pliku, ale po utworzeniu pliku nie ma możliwości jego usunięcia. O ile mogłem zrozumieć, może to wynikać z faktu, że strumień FileOutputstream nie jest zamknięty.
Poniżej mojego streszczonego kodu:
outFile = new FileOutputStream(dir+"\\"+fileName);
outFile.write("Test");
outFile.flush();
outFile.close();
outFile = null;
System.gc();
Wtedy nie ma sposobu, aby usunąć plik, nawet „ręcznie”. Po uruchomieniu mojego programu nie mogę go usunąć w systemie Windows za pomocą prostego del. Próbowałem także usunąć zawartość folderureż i nie zadziałało, używając tego kodu:
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();
}
}
}
Więc moje pytanie brzmi: Jak zamknąć ten plik dla następnego usunięcia (lub jak go poprawnie usunąć, jeśli nie możemy go zamknąć)?