public class DirectoryAndFilesUtils {
/**
* 删除单个文件
*
* @param pathName 删除文件路径名
* @return
*/
public static boolean deleteFiles(String pathName) {
boolean flag = false;
//根据路径创建文件对象
File file = new File(pathName);
//路径是个文件且不为空时删除文件
if (file.isFile() && file.exists()) {
flag = file.delete();
}
//删除失败时,返回false
return flag;
}
/**
* 删除目录本身以及目录下的所有文件及文件夹
*
* @param pathName 目录名
* @return
*/
public static boolean deleteDirectory(String pathName) {
boolean flag = false;
//根据路径创建文件对象
File directory = new File(pathName);
//如果路径是一个目录且不为空时,删除目录
if (directory.isDirectory() && directory.exists()) {
//获取目录下的所有的目录和文件,放入数组files中
File[] files = directory.listFiles();
//遍历目录下的所有的文件和目录
for (int i = 0; i < files.length; i++) {
//如果目录下是文件时,调用deleteFiles()方法,删除单个文件
if (files[i].isFile()) {
flag = deleteFiles(files[i].getAbsolutePath());
}//如果目录下是目录时,调用自身deleteDirectory(),形成递归调用
else {
flag = deleteDirectory(files[i].getAbsolutePath());
}
}
//删除目录本身,如果想要保留目录只删除文件,此句可以不要
flag = directory.delete();
}
//删除成功时返回true,失败时返回false
return flag;
}
/**
* 删除文件或者目录
*
* @param pathName 路径名
* @return
*/
public static boolean deleteDirectoryOrFile(String pathName) {
try {
boolean flag = false;
File file = new File(pathName);
//如果路径是一个文件则调用deleteFiles()
if (file.isFile() && file.exists()) {
flag = deleteFiles(pathName);
}//如果路径是目录则调用deleteDirectory()
else if (file.isDirectory() && file.exists()) {
flag = deleteDirectory(pathName);
}
return flag;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
/**
* @return boolean
* @Author JIANGLANG
* @Description 修改文件名称
* @Date 14:00 2023/12/19
* @Param [pathName]
**/
public static boolean modifyTheFileName(File file, String newName) {
boolean flag = file.renameTo(new File(file.getParentFile().getAbsoluteFile() + "\\" + newName));
if (flag) {
System.out.println("重命名成功");
} else {
System.out.println("重命名失败");
}
return flag;
}
/**
* @return boolean
* @Author JIANGLANG
* @Description 路径下所有文件
* @Date 16:18 2023/12/15
* @Param [path]
**/
public static void findFileList(File file, List<File> fileNames) {
// 判断是否存在目录
if (!file.exists() || !file.isDirectory())
return;
String[] files = file.list();
for (int i = 0; i < files.length; i++) {
File fileIt = new File(file, files[i]);
// 文件?
if (fileIt.isFile()) {
fileNames.add(fileIt);
} else {
findFileList(fileIt, fileNames);
}
}
}
/**
* @return void
* @Author JIANGLANG
* @Description 文件复制
* @Date 14:36 2024/1/2
* @Param [file 需要被复制的文件或文件夹, path 生成文件的路径]
**/
public static void copyFile(File file, String path) throws IOException {
//判断是文件还是文件夹
if (file.isDirectory()) {
//获取文件夹下所有文件
List<File> files = Arrays.asList(file.listFiles());
for (File f : files) {
copyFile(f, path + "\\" + f.getName());
}
} else if (file.isFile()) {
FileUtils.copyFile(file, new File(path));
}
}
public static void main(String[] args) throws IOException {
File file = new File("D:/mine/product/");
copyFile(file, "D:\\mine\\1");
}
}
01-19
1408
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
09-18