【发布时间】:2015-04-30 05:25:18
【问题描述】:
我有这段代码,它必须从目录和目录本身中删除文件:
private static void removeTempFiles(File dir){
if(!dir.exists())
return;
if(dir.isDirectory()){
for(File f : dir.listFiles())
removeTempFiles(f);
dir.delete();
}
else {
dir.delete();
}
}
但执行此代码不会删除所有文件。它有时会删除文件夹中的所有文件或仅删除几个文件
统一更新: 这是我的创建文件代码:
File tempFolder = new File(tempPath);
tempFolder.mkdir();
tempFolder.mkdirs();
FileOutputStream fileOut = new FileOutputStream(tempPath+"/"+fileName);
OutputStreamWriter osw = new OutputStreamWriter(fileOut, "windows-1251");
try{
osw.write(file64);
} catch (IOException e){
e.printStackTrace();
}finally {
osw.close();
fileOut.close();
}
【问题讨论】:
-
可能是权限..
-
@fxm 和那个 :)
-
你可能想检查
delete()返回的值,如果它返回false则记录它。