2016-12-23 4 views
0

Это мой код записи в файле ..Не удается удалить файл, но авторы закрыты

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

Что моя ошибка?

+0

Изменить свой путь следующим образом: C: \\ Пользователи \\ xxx \\ AppData \\ Local \\ Temp \\ tag – ThanhLD

+0

'buf' не может быть «пустым» в том месте, где вы его тестируете, и не может «osw' или' fos ». Ни один из вызовов 'close()' после 'buf.close()' не требуется, и ни один из них не является 'buf.flush()'. Не пишите бессмысленный код. – EJP

ответ

-1

В java, если вы хотите использовать обратную косую черту. Попробуйте, как это

Вашего путь: C: \ Users \ хого \ AppData \ Local \ Temp \ тег

, но вы должны всегда двойной обратный слэш следует ниже:

C: \\ Пользователи \\ xxx \\ AppData \\ Local \\ Temp \\ tag

+0

@Ganymed Если код, который вы опубликовали, действительно создает файлы, которые вы удаляете, и по мере того, как вы выписываете имена путей из 'File.listFiles()', я не вижу, как это может решить вашу проблему. Если для некоторой неустановленной причины 'fileTag' не является производным от fileTAGpath'. – EJP

Смежные вопросы