Schließen Sie eine mit FileOutputStream erstellte Datei zum nächsten Löschen

Ich habe derzeit ein Problem mit einem FileOutputStream in meinem Java-Code.

Eigentlich verwende ich einen FileOutputStream zum Erstellen einer Datei, aber wenn die Datei erst einmal erstellt ist, kann sie nicht mehr gelöscht werden. Soweit ich verstehen konnte, kann dies daran liegen, dass der FileOutputstream nicht geschlossen ist.

Unten mein zusammengefasster Code:

     outFile = new FileOutputStream(dir+"\\"+fileName);
     outFile.write("Test");
     outFile.flush();
     outFile.close();
     outFile = null;
     System.gc();

Dann gibt es keine Möglichkeit, die Datei zu löschen, auch nicht "von Hand". Wenn mein Programm gestartet wird, kann ich es unter Windows nicht durch einfaches Löschen löschen. Ich habe auch versucht, den Inhalt des Ordners zu entfernendir und es hat auch nicht funktioniert, mit diesem Code:

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();
            }
        }
}

Meine Frage lautet also: Wie schließe ich diese Datei für ein nächstes Löschen (oder wie lösche ich sie richtig, wenn wir sie nicht schließen können)?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage