com.nbsaas.boot.generator.utils.FileUtil Maven / Gradle / Ivy
/*
*
* * 版权声明和许可协议
* *
* * 版权所有 (c) 2023 纽百特®
* * 版权所有,保留所有权利
* *
* * 本软件使用 MIT 许可协议进行许可,详情请参阅:
* *
* * https://opensource.org/licenses/MIT
* *
* * 更多信息,请访问我们的网站:
* *
* * http://www.nbsaas.com
* *
* * 纽百特® 是西安纽百特科技有限责任公司的注册商标,未经授权不得使用。
*
*/
package com.nbsaas.boot.generator.utils;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* 文件操作工具类
*/
public class FileUtil {
/**
* 创建文件
*
* @param basePath 基础文件夹
* @param fileName 文件名
* @return 被创建的文件
* @throws IOException IO异常
*/
public static File createDirAndFile(String basePath, String fileName) throws IOException {
File file = new File(basePath, fileName);
if (!file.getParentFile().exists()) {
file.getParentFile().mkdirs();
}
file.createNewFile();
return file;
}
public static void createDir(String path) {
File dir = new File(path);
if (!dir.exists()) {
dir.mkdirs();
}
}
public static File createFile(String path) throws IOException {
File file = new File(path);
if (!file.getParentFile().exists()) {
file.getParentFile().mkdirs();
// throw new RuntimeException("folder no found, please create the parent folder first");
}
file.createNewFile();
return file;
}
/**
* 查询文件夹中的所有文件列表
*
* @param folderFile 文件见/文件
* @return 文件列表
*/
public static List getFileList(File folderFile) {
List allFileList = new ArrayList<>();
if (!folderFile.isDirectory()) {
// 入参是一个文件,直接返回
allFileList.add(folderFile);
return allFileList;
}
// 入参是一个文件夹,需要递归遍历
_getAllFile(folderFile, allFileList);
return allFileList;
}
private static void _getAllFile(File file, List allFileList) {
// Terminator
File[] innerFiles = file.listFiles();
if (innerFiles == null || innerFiles.length == 0) {
return;
}
// Process
for (File innerFile : innerFiles) {
// Process
if (innerFile.isDirectory()) {
// 文件夹
_getAllFile(innerFile, allFileList);
} else {
// 文件
allFileList.add(innerFile);
}
}
}
/**
* 删除文件夹所有文件
*
* @param path 路径
*/
public static void delDir(String path) {
File file = new File(path);
if (!file.exists()) {
return;
}
_delDir(file);
}
private static void _delDir(File folder) {
// Terminator
// Process
File[] files = folder.listFiles();
for (File file : files) {
if (file.isDirectory()) {
// Drull dwon
_delDir(file);
} else {
file.delete();
}
}
folder.delete();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy