La fermeture d'un fichier créé avec FileOutputStream, pour une prochaine supprimer

Je suis actuellement confronté à un problème avec un FileOutputStream dans mon code Java.

En fait, je suis en utilisant un FileOutputStream pour la création d'un fichier, mais une fois que le fichier est créé il n'y a aucun moyen de le supprimer. Aussi loin que je pouvais comprendre, cela peut venir du fait que le FileOutputstream n'est pas fermé.

Ci-dessous mes résumés code :

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

Alors il n'y a pas moyen de supprimer le fichier, même "à la main". Lorsque mon programme est lancé, je ne peux pas le supprimer de windows par un simple del. J'ai aussi essayé de supprimer le contenu du dossier dir et il n'a pas travaillé ni, à l'aide de ce 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();
            }
        }
}

Donc ma question est :
Comment fermer ce fichier pour une prochaine supprimer (ou la façon de le supprimer correctement si on ne peut pas la fermer)?

OriginalL'auteur user1619114 | 2012-08-23