Java:删除某文件夹下的所有文件该如何实现呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java:删除某文件夹下的所有文件该如何实现呢?相关的知识,希望对你有一定的参考价值。

只删除该文件夹下的所有文件(不删除文件夹),我能想到的方法是遍历该文件夹下的所有file,然后挨个file.delete(),但是觉得这个方法比较笨,有没有更简单的方法呢?

删除文件夹下的所有文件需要用到java.io.File类的各个方法,并需要使用简单的递归算法。
示例代码如下:
import java.io.File;
public class Test

public static void main(String args[])
Test t = new Test();
delFolder("c:/bb");
System.out.println("deleted");


//删除文件夹
//param folderPath 文件夹完整绝对路径
public static void delFolder(String folderPath)
try
delAllFile(folderPath); //删除完里面所有内容
String filePath = folderPath;
filePath = filePath.toString();
java.io.File myFilePath = new java.io.File(filePath);
myFilePath.delete(); //删除空文件夹
catch (Exception e)
e.printStackTrace();



//删除指定文件夹下所有文件
//param path 文件夹完整绝对路径
public static boolean delAllFile(String path)
boolean flag = false;
File file = new File(path);
if (!file.exists())
return flag;

if (!file.isDirectory())
return flag;

String[] tempList = file.list();
File temp = null;
for (int i = 0; i < tempList.length; i++)
if (path.endsWith(File.separator))
temp = new File(path + tempList[i]);
else
temp = new File(path + File.separator + tempList[i]);

if (temp.isFile())
temp.delete();

if (temp.isDirectory())
delAllFile(path + "/" + tempList[i]);//先删除文件夹里面的文件
delFolder(path + "/" + tempList[i]);//再删除空文件夹
flag = true;


return flag;

参考技术A 先读取整个目录,循环遍历目录下所有文件,判断是否为文件夹 使用file.isDirectory() ,它返回的布尔值,是文件夹返回true,如果返回是false值,就file.delete(),这样就可以满足你要的效果了,望采纳谢谢。本回答被提问者和网友采纳 参考技术B 更简单的方法就是调用系统命令来删除了 参考技术C 删除这个文件夹 你在创建一个新的同名文件夹 不就行了追问

文件夹下有文件时无法直接删除

android如何获取有图片的文件夹列表?

我有一个ListView,想让其显示文件列表。如果文件夹内没有图片,则在ListView中不显示该文件夹;如果有图片则显示该文件夹,点开文件夹,获得图片列表。
要想实现该效果,该怎么做,有什么思路请给说下,要详细一些,最好有代码!
急需,望大家能够给点支持啊!!!!
最好给做个小demo,我在这一块一窍不通啊!
如果给Demo,就出血大送分,急需啊!!!
给个流程图也行啊,绝对放分的

用下面这种方式能实现查询实现查询sd卡某一个子目录下的图片文件详细信息 :

//selection: 指定查询条件
String selection = MediaStore.Images.Media.DATA + " like %?";
//设定查询目录
String path="/mnt/sdcard/youpicpath";
//定义selectionArgs:
String[] selectionArgs = path+"%";
c = this.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null,
selection, selectionArgs, null);

其实原理就是改变了下查询语句,在查询条件中增加了MediaStore.Images.Media.DATA字段的限制条件,必须是和指定目录能匹配的才被查询,注意selection和selectionArgs参数是配合使用的。
参考技术A 循环递归方式 目录一层一层的找 这个文件夹有没有图片文件(扩展名为jpg.gif)。然后可以拿到这个文件夹了。

小demo 一窍不通 其实这块没有什么啊 你都可以做Android开发 这块只是JavaIO包里的内容

LIstView 你都了解 我觉得 这个你不是问题追问

这个真是问题,我刚开始学,java也不怎么样啊...给个demo吧

追答

demo? 你想学好的话 我给你思路你自己来写效果会比较好

先写一个方法 判断这个文件夹下面是否包含图片文件
public void IsExistPic(string path)
遍历全进来的这个path下面的所有文件 最后返回 true or false

参考技术B 查找系统的数据库 images 表,现在还有分么?

以上是关于Java:删除某文件夹下的所有文件该如何实现呢?的主要内容,如果未能解决你的问题,请参考以下文章

删除某文件夹下的所有文件

删除oracle中某一个用户的所有数据 如何操作

请问如何用java在指定目录中 以及子目录 找出同名文件?

oracle只有某用户权限,要删除该用户下的所有对象如何操作

java怎么得到本机某一文件夹下所有文件的名字

如何用shell实现 一直扫描远程某文件夹 有新文件 就下载到本地目录下?