Это мой код записи в файле ..Не удается удалить файл, но авторы закрыты
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();
}
Это мой код первого удаления файлов, а затем удалите каталог:
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);
}
Он терпит неудачу с сообщением о том, что файл не был удален. На выходе отображается правый файл и правый каталог. Если я скопирую путь к моему окну проводника, я доберусь до нужного файла. Путь файлов находится под
C:\Users\xxx\AppData\Local\Temp\tag
Что моя ошибка?
Изменить свой путь следующим образом: C: \\ Пользователи \\ xxx \\ AppData \\ Local \\ Temp \\ tag – ThanhLD
'buf' не может быть «пустым» в том месте, где вы его тестируете, и не может «osw' или' fos ». Ни один из вызовов 'close()' после 'buf.close()' не требуется, и ни один из них не является 'buf.flush()'. Не пишите бессмысленный код. – EJP