Ceci est mon code écrit dans un fichier ..Impossible de supprimer le fichier mais les auteurs sont fermés
FileOutputStream fos = new FileOutputStream(fileTAG, true);
OutputStreamWriter osw = new OutputStreamWriter(fos, strFileEncoding);
buf = new BufferedWriter(osw);
buf.write(strTagStream);
buf.newLine();
buf.flush();
if (buf != null)
{
buf.close();
}
if (osw != null)
{
osw.close();
}
if (fos != null)
{
fos.close();
}
Ceci est mon premier code de supprimer les fichiers et supprimer ensuite le répertoire:
File[] arrFiles = fileTagpath.listFiles();
for (File fileCurrentFile : arrFiles)
{
if (!fileCurrentFile.delete())
{
String strMessage = "File <" + fileCurrentFile.getAbsolutePath() + "> has not been deleted.";
System.out.println(strMessage);
fail(strMessage);
}
}
if (!fileTagpath.delete())
{
String strMessage = "Directory <" + fileTagpath.getAbsolutePath() + "> has not been deleted.";
System.out.println(strMessage);
fail(strMessage);
}
Il échoue avec le message que le fichier n'a pas été supprimé. La sortie affiche le bon fichier et le bon répertoire. Si je copie le chemin vers la fenêtre de mon explorateur, j'arrive au bon fichier. Le chemin des fichiers est sous
C:\Users\xxx\AppData\Local\Temp\tag
Quel est mon erreur?
Modifiez votre chemin comme ceci: C: \\ Utilisateurs \\ xxx \\ AppData \\ Local \\ Temp \\ tag – ThanhLD
'buf' ne peut pas être 'null' au moment où vous le testez, ni 'osw' ou' fos'. Aucun des appels 'close()' après 'buf.close()' n'est nécessaire, pas plus que buf.flush() '. N'écrivez pas de code inutile. – EJP