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ąć)?

questionAnswers(7)

yourAnswerToTheQuestion