zengyang105
Tao-yangZeng
采纳率60%
2015-07-19 07:12

java怎么删除目录,如果目录下有文件,一并删除,我写的递归好像不行

已采纳

public static void deleteDir(String dirPath){
File file = new File(dirPath);
if (file.isDirectory()) {
String[] files = file.list();
for (String f : files) {
deleteDir(f);
}
}
else {
if(file.isFile())
file.delete();
}

}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • danielinbiti danielinbiti 6年前
     if (file.isDirectory()) {
    String[] files = file.list();
    for (String f : files) {
    deleteDir(f);
    }
    file.delete();//删除文件夹下的文件后,是空目录,删除空目录
    
    点赞 1 评论 复制链接分享
  • qq545701581 Sampwood 6年前

    你的递归的最终作用是删除目录下的文件。不起作用是因为在递归函数里面的路劲没写全,deleteDir(f);应该改为deleteDir(dirPath+"\"+f);

    点赞 评论 复制链接分享
  • tongyi55555 JonsonJiao 6年前

    你的文件删除了,但是目录没有删除的问题。

    点赞 评论 复制链接分享
  • oyljerry oyljerry 6年前

    想看看你删除返回的错误码等,是不是路径拼接不对。或其他错误类型。

    点赞 评论 复制链接分享

相关推荐