Java:<获取>、<删除>指定文件夹及里面所有文件
工具类代码如下:
一、获取
public Class Test{
//定义全局变量,存放所有文件夹下的文档
List<String> fileList ;
public List<String> getFileLists() {
String path = "路径";
//用的时候再new,相当于用之前清空一下List
fileList = new ArrayList<String>();
List<String> list = getFileListsByPath(path);
return list;
}
public List<String> getFileListsByPath(String path) {
File file = new File(path);
if(file.exists()){
File[] files = file.listFiles();
for(File file2 : files){
//若是文件夹,递归调用,往下继续遍历
if(file2.isDirectory()){
//遍历子文件夹的绝对路径下的所有文件
getFileListsByPath(file2.getAbsolutePath());
}else{
//若是文档,非文件夹,加入List
fileList.add(file2.getAbsolutePath());
}
}
}
return fileList;
}
}
二、删除
/*
* 删除指定文件夹及里面所有文件
*/
import java.io.File; public class RemoveDirectoryUtil { //获得绝对路径:/D:/eclipse/workspace/项目名称/WebContent/WEB-INF/classes/
public final static String HOME_PATH = RemoveDirectoryUtil.class.getResource("/").getPath();
//获得绝对路径:/D:/eclipse/workspace/项目名称/WebContent/下的其他目录
public final static String FILE_PATH = HOME_PATH.subSequence(, HOME_PATH.indexOf("WEB-INF")) + "file/"; //删除文件夹
//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 = ; 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;
} }
获取文件所在路径:
RemoveDirectoryUtil.FILE_PATH
(根据需要修改即可)
最后
只需要在方法里调用即可:
RemoveDirectoryUtil.delFolder("你的文件夹所在路径");
Java:<获取>、<删除>指定文件夹及里面所有文件的更多相关文章
- Java以流的方式将指定文件夹里的.txt文件全部复制到另一文件夹,并删除原文件夹中所有.txt文件
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...
- Java 遍历文件夹里面的全部文件、指定文件
Java 手册 listFiles public File[] listFiles(FileFilter filter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件 ...
- java 删除文件夹 / 删除某文件夹下的所有文件
import java.io.File; /*************************删除文件夹delFolder / 删除文件夹中的所有文件delAllFile *start******** ...
- java 删除文件夹中的所有文件及文件夹
删除文件夹(前提:文件夹为空以及InputStream和OutputStream等一些数据文件流关掉[close()],否则文件无法删除) //删除文件夹 public static void del ...
- 用java实现删除文件夹里的所有文件
package com.org.improve.contact; import java.io.File; public class DeletePaper { /** * @param args * ...
- Inno如何在安装完成时删除指定的文件夹(下的所有文件及子目录)??
删除安装目录下的任意文件夹及下的所有文件及子目录,或者删除指定目录的文件夹,要如何做到呢?谢谢!! //删除文件 用 DeleteFile 只能删除一个文件,不能使用通配符来删除多个文件Dele ...
- JAVA获取文件夹下所有的文件
package com.test; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; im ...
- Java递归搜索指定文件夹下的匹配文件
import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Queue; /** ...
- Java 删除当前文件夹及其文件夹下的全部文件
删除文件夹2以下的全部文件及其文件夹 演示样例文件夹例如以下:D:/test/1/2 1.使用FileUtils类.静默删除 String url = "D:/test/1/2"; ...
随机推荐
- Codeforces 1062 E - Company
E - Company 思路: 首先,求出每个点的dfs序 然后求一些点的公共lca, 就是求lca(u, v), 其中u是dfs序最大的点, v是dfs序最小的大点 证明: 假设o是这些点的公共lc ...
- spring: beanutils.copyproperties将一个对象的数据塞入到另一个对象中(合并对象)
spring: beanutils.copyproperties将一个对象的数据塞入到另一个对象中(合并对象) 它的出现原因: BeanUtils提供对Java反射和自省API的包装.其主要目的是利用 ...
- 提取出一个组装基因组的gap(N)和重复序列区域,保存为bed格式
参见: Question: How to extract allnon-seqencedpositions from a genome (Fasta file)? test.fa >chr1 N ...
- 20180518VSTO多簿单表汇总外接程序按钮
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsof ...
- tomcat启动问题,卡在 preparing launch delegate 100% 的解决方法
今天在打开eclipse中的tomcat时,每次用debug模式启动的时候总是会在preparing launch delegate到100%的时候卡主,起初以为是tomcat启动时间45s不够,于是 ...
- python-django rest framework框架之序列化
序列化与反序列化: 对象 -> 字符串 序列化 字符串 -> 对象 反序列化 rest framework序列化+Form 目的: 解决QuerySet序列化问题 功能:解析 和 过滤 - ...
- php 求余
一,异号 1.函数值符号规律(余数的符号) mod(负,正)=正 mod(正,负)=负 结论:两个整数求余时,其值的符号为除数的符号. 2.取值规律 先将两个整数看作是正数,再作除法运算 ①能整除时, ...
- Hadoop 2.7.3 完全分布式维护-部署篇
测试环境如下 IP host JDK linux hadop role 172.16.101.55 sht-sgmhadoopnn-01 1.8.0_111 CentOS release ...
- GitHub 简单用法
1. GitHub账号的申请 首先打开Github主页,https://github.com 如果你没有登录过的话会打开如下图的界面(登录过你就不用看这段了), 注册画面如下: 注意右侧不是登陆界面而 ...
- Oracle修改监听端口教程
Oracle默认监听端口1521,一众扫描器通常通过探测1521端口是否开启来探测是否存在Oracle服务,如果修改默认监听端口在一定程度上可以提升数据库和主机的安全性. 比如这里我们修改成2521为 ...