递归删除文件夹在java问题,怎么解决
1个回答
2018-05-27 · 知道合伙人互联网行家
关注
展开全部
import java.io.File;
public class class_99 { /**
* @param args
*/
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<str.length;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 { /**
* @param args
*/
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<str.length;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");
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询