java删除文件问题~~!~ 我用File的delete()方法批量删除文件的时候怎么老是出现失败,一般是300删除后还有100个左右,再调用删除的时候还剩下50个,请问高手们有什么解决方法没 ,或者有其他类的删除方法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼主怎么问两次,呵呵, public static void do3(String filename){ File f=new File(filename); if(f.exists()){ do{ do3(filename); } while(!f.delete()); } } public static void do3(String filename){ File f=new File(filename); if(f.exists()){ do{ f=null; do3(filename); } while(!f.delete()); } } 3、4楼的方法都是一个死循环,不可能删除文件不能乱用do while的 public boolean delAllFile(String path) { File file = new File(path); if (!file.exists()) { return false; } if (!file.isDirectory()) { return false; } String[] tempList = file.list(); File temp = null; for (String name : tempList) { if (path.endsWith(File.separator)) { temp = new File(path + name); } else { temp = new File(path + File.separator + name); } if (temp.isDirectory()) { delAllFile(path + "/" + name);//先删除文件夹里面的文件 } temp.delete(); } return true; } 实在不行用 Runtime.getRuntime().exec(String command) 执行 del 命令试试,效率会高些。 public static void do3(String filename){ File f=new File(filename); if(f.exists()){ do{ do3(filename); } while(!f.delete()); } } 操作扔一单独线程里,超时了还没删完就将线程 kill 了。死不了地。 很容易成死循环------------------------------------------------------------- Quietly through ..... 数组复制的问题 代码总是报错 求!java中8个基本类型的转换 连接sql2005老显示找不到合适驱动,求助!! TOMCAT6.0中关于URL大小写忽略问题 String str = new String("hello");内存执行小分析 发一个关于String中去除 单引号的解决方案。 高手接分呀………急急急 该如何理解匿名内部类的功能? 怎么样才能知道那个类是匿名类? 错误invalid escape sequence ()valid ones are \b\f--------- 读取文件,出来的时候有时候是乱码,有时候正常.........
File f=new File(filename);
if(f.exists()){
do{
do3(filename);
}
while(!f.delete());
}
}
public static void do3(String filename){
File f=new File(filename);
if(f.exists()){
do{
f=null;
do3(filename);
}
while(!f.delete());
}
}
不能乱用do while的
public boolean delAllFile(String path) { File file = new File(path);
if (!file.exists()) {
return false;
}
if (!file.isDirectory()) {
return false;
}
String[] tempList = file.list();
File temp = null;
for (String name : tempList) {
if (path.endsWith(File.separator)) {
temp = new File(path + name);
} else {
temp = new File(path + File.separator + name);
}
if (temp.isDirectory()) {
delAllFile(path + "/" + name);//先删除文件夹里面的文件
}
temp.delete();
}
return true;
}
File f=new File(filename);
if(f.exists()){
do{
do3(filename);
}
while(!f.delete());
}
}
操作扔一单独线程里,超时了还没删完就将线程 kill 了。死不了地。
很容易成死循环-------------------------------------------------------------
Quietly through .....