工具类代码如下:

一、获取

  1. public Class Test{
  2.  
  3. //定义全局变量,存放所有文件夹下的文档
  4. List<String> fileList ;
  5.  
  6. public List<String> getFileLists() {
  7.  
  8. String path = "路径";
  9. //用的时候再new,相当于用之前清空一下List
  10. fileList = new ArrayList<String>();
  11.  
  12. List<String> list = getFileListsByPath(path);
  13.  
  14. return list;
  15. }
  16.  
  17. public List<String> getFileListsByPath(String path) {
  18.  
  19. File file = new File(path);
  20. if(file.exists()){
  21. File[] files = file.listFiles();
  22. for(File file2 : files){
  23. //若是文件夹,递归调用,往下继续遍历
  24. if(file2.isDirectory()){
  25. //遍历子文件夹的绝对路径下的所有文件
  26. getFileListsByPath(file2.getAbsolutePath());
  27. }else{
  28. //若是文档,非文件夹,加入List
  29. fileList.add(file2.getAbsolutePath());
  30. }
  31. }
  32.  
  33. }
  34. return fileList;
  35.  
  36. }
  37.  
  38. }

二、删除

  1. /*
  2. * 删除指定文件夹及里面所有文件
  3. */
  4. import java.io.File;
  5.  
  6. public class RemoveDirectoryUtil {
  7.  
  8. //获得绝对路径:/D:/eclipse/workspace/项目名称/WebContent/WEB-INF/classes/
  9. public final static String HOME_PATH = RemoveDirectoryUtil.class.getResource("/").getPath();
  10. //获得绝对路径:/D:/eclipse/workspace/项目名称/WebContent/下的其他目录
  11. public final static String FILE_PATH = HOME_PATH.subSequence(, HOME_PATH.indexOf("WEB-INF")) + "file/";
  12.  
  13. //删除文件夹
  14. //param folderPath 文件夹完整绝对路径
  15.  
  16. public static void delFolder(String folderPath) {
  17. try {
  18. delAllFile(folderPath); //删除完里面所有内容
  19. String filePath = folderPath;
  20. filePath = filePath.toString();
  21. java.io.File myFilePath = new java.io.File(filePath);
  22. myFilePath.delete(); //删除空文件夹
  23. } catch (Exception e) {
  24. e.printStackTrace();
  25. }
  26. }
  27.  
  28. //删除指定文件夹下所有文件
  29. //param path 文件夹完整绝对路径
  30. public static boolean delAllFile(String path) {
  31. boolean flag = false;
  32. File file = new File(path);
  33. if (!file.exists()) {
  34. return flag;
  35. }
  36. if (!file.isDirectory()) {
  37. return flag;
  38. }
  39. String[] tempList = file.list();
  40. File temp = null;
  41. for (int i = ; i < tempList.length; i++) {
  42. if (path.endsWith(File.separator)) {
  43. temp = new File(path + tempList[i]);
  44. } else {
  45. temp = new File(path + File.separator + tempList[i]);
  46. }
  47. if (temp.isFile()) {
  48. temp.delete();
  49. }
  50. if (temp.isDirectory()) {
  51. delAllFile(path + "/" + tempList[i]);//先删除文件夹里面的文件
  52. delFolder(path + "/" + tempList[i]);//再删除空文件夹
  53. flag = true;
  54. }
  55. }
  56. return flag;
  57. }
  58.  
  59. }

获取文件所在路径:

  1. RemoveDirectoryUtil.FILE_PATH

(根据需要修改即可)

最后

只需要在方法里调用即可:

  1. RemoveDirectoryUtil.delFolder("你的文件夹所在路径");

Java:<获取>、<删除>指定文件夹及里面所有文件的更多相关文章

  1. Java以流的方式将指定文件夹里的.txt文件全部复制到另一文件夹,并删除原文件夹中所有.txt文件

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

  2. Java 遍历文件夹里面的全部文件、指定文件

    Java 手册 listFiles public File[] listFiles(FileFilter filter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件 ...

  3. java 删除文件夹 / 删除某文件夹下的所有文件

    import java.io.File; /*************************删除文件夹delFolder / 删除文件夹中的所有文件delAllFile *start******** ...

  4. java 删除文件夹中的所有文件及文件夹

    删除文件夹(前提:文件夹为空以及InputStream和OutputStream等一些数据文件流关掉[close()],否则文件无法删除) //删除文件夹 public static void del ...

  5. 用java实现删除文件夹里的所有文件

    package com.org.improve.contact; import java.io.File; public class DeletePaper { /** * @param args * ...

  6. Inno如何在安装完成时删除指定的文件夹(下的所有文件及子目录)??

    删除安装目录下的任意文件夹及下的所有文件及子目录,或者删除指定目录的文件夹,要如何做到呢?谢谢!! //删除文件    用 DeleteFile 只能删除一个文件,不能使用通配符来删除多个文件Dele ...

  7. JAVA获取文件夹下所有的文件

    package com.test; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; im ...

  8. Java递归搜索指定文件夹下的匹配文件

    import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Queue; /** ...

  9. Java 删除当前文件夹及其文件夹下的全部文件

    删除文件夹2以下的全部文件及其文件夹 演示样例文件夹例如以下:D:/test/1/2 1.使用FileUtils类.静默删除 String url = "D:/test/1/2"; ...

随机推荐

  1. ace后台管理系统扁平化框架

    Bootstrap ACE后台管理界面模板(扁平化) 所属分类:后台模板 文件大小:1.22 MB 阅读:236697次 下载:55929次 来源:www.daimajiayuan.com 分享到:更 ...

  2. vue cli 打包项目造成css背景图路径错误

    vue cli做项目的时候难免会碰到,css引用背景图或者css,js之间的相互引用!!!这时候打包后可能会出现一个错误!!如下图: 写法: 错误: 会无端多出一个“/css/static/” 这样就 ...

  3. 第 6 章 存储 - 042 - 用 volume container 共享数据

    volume container volume container 是专门为其他容器提供 volume 的容器.它提供的卷可以是 bind mount,也可以是 docker managed volu ...

  4. MATLAB程序控制结构

  5. python实战小程序之购物车

    # Author:南邮吴亦凡 # 商品列表 product_list = [ ('Iphone',5800), # 逗号一定不可以省略! ('Mac',4800), ('smartphone',400 ...

  6. Confluence 6 可以自定义的元素

    色彩配色方案允许你对 UI 中的元素色彩进行编辑,包括顶部条,标签页和背景色. 有一些下面的 UI 元素被用在特定的主题中,配色方案的修改可能不会对这些元素有效. 顶部条(Top Bar)—— 顶部导 ...

  7. Confluence 6 如何让我的小组成员知道那些内容是重要的

    如果你的 Confluence 中已经有了很多内容,定义那些内容是重要看起是一件艰巨的任务 —— 但是下面的一些特性能够帮助你的小组确定那些内容是他们应该关心的. 我的空间(My Spaces) 添加 ...

  8. Dedecmsv5.7整合ueditor 图片上传添加水印

    最近的项目是做dedecmsv5.7的二次开发,被要求上传的图片要加水印,百度ueditor编辑器不支持自动加水印,所以,找了很多资料整合记录一下,具体效果图 这里不仔细写dedecmsv5.7 整合 ...

  9. IntelliJ IDEA的调试方法

    快捷键F9          resume programe       恢复程序 Alt+F10       show execution point    显示执行断点 F8          S ...

  10. 第二阶段——个人工作总结DAY10

    1.昨天做了什么:昨天其实什么也没实现. 2.今天打算做什么:今天就软件,等到审核过了,再看看软件最后后台是怎么实现的. 3.遇到的困难:后台自己都没有实现.