怎么写 java 递归?解决删除文件夹以及子文件
答案:1 悬赏:80
解决时间 2021-03-08 10:17
- 提问者网友:很好的背叛
- 2021-03-07 13:44
我最近做的java文档管理里面遇到的一个问题,怎么样?当文件夹里含有文件,删除文件夹,同时把里面的文件一起删除。怎么用递归写?????
最佳答案
- 二级知识专家网友:怪咖小青年
- 2021-03-07 14:29
import java.io.File;
public class class_99 {
static boolean eqs(String path)
{
boolean flag = false;
File file = new File(path);
if(!file.exists())
{
return false;
}
if(!file.isDirectory())
{
return false;
}
String[] str = file.list();
System.out.println("============"+file.list().length);
for(int i=0;i
{
File fi = new File(path+"/"+str[i]);
if(path.endsWith(file.separator))
{
fi = new File(path+str[i]);
}
else
{
fi = new File(path+fi.separator+str[i]);
}
if(fi.exists()&&fi.list().length==0)//如果是文件夹且没有东西了 就删除 前提是没有文件的存在 如果有的话
//需要另做处理 这里只是教你怎么删除空文件夹
{
java.io.File myFilePath = new java.io.File(path+"/"+str[i]); myFilePath.delete();
}
if(fi.isDirectory())//如果文件假内还有 就继续调用本方法
{
eqs(path+"/"+str[i]);
}
}
return true;
}
public static void main(String[] args) {
String str ="";//定义一个str接受字符串 eqs("D:\\text");
}
}
public class class_99 {
static boolean eqs(String path)
{
boolean flag = false;
File file = new File(path);
if(!file.exists())
{
return false;
}
if(!file.isDirectory())
{
return false;
}
String[] str = file.list();
System.out.println("============"+file.list().length);
for(int i=0;i
File fi = new File(path+"/"+str[i]);
if(path.endsWith(file.separator))
{
fi = new File(path+str[i]);
}
else
{
fi = new File(path+fi.separator+str[i]);
}
if(fi.exists()&&fi.list().length==0)//如果是文件夹且没有东西了 就删除 前提是没有文件的存在 如果有的话
//需要另做处理 这里只是教你怎么删除空文件夹
{
java.io.File myFilePath = new java.io.File(path+"/"+str[i]); myFilePath.delete();
}
if(fi.isDirectory())//如果文件假内还有 就继续调用本方法
{
eqs(path+"/"+str[i]);
}
}
return true;
}
public static void main(String[] args) {
String str ="";//定义一个str接受字符串 eqs("D:\\text");
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯