package com.hand.bxtadmin.infra.utils;
import cn.hutool.core.io.FileUtil;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import java.io.File;
/**
* @author : maqingbo
* @email : qingbo.ma@hand-china.com
* @date : 2023/11/24:0:35 周五
*/
public class FileUtils {
/**
* 返回目录下的所有子级
* @param file isDirectory
* @return
*/
public static JSONArray getFileTree(File file) {
return getChildren(file.listFiles());
}
private static JSONArray getChildren(File[] fileList) {
if (fileList == null) {
return new JSONArray();
}
JSONArray children = new JSONArray();
for (File file : fileList) {
JSONObject child = new JSONObject();
child.put("name", file.getName());
child.put("type", file.isFile() ? "file" : "directory");
child.put("lastModifiedTime", FileUtil.lastModifiedTime(file));
if (file.isFile()) {
child.put("size", FileUtil.size(file));
child.put("mimeType", FileUtil.getMimeType(file.getAbsolutePath()));
}
if (file.isDirectory()) {
child.put("children", getChildren(file.listFiles()));
}
children.add(child);
}
return children;
}
}
给定目录path,递归返回目录下所有文件列表
最新推荐文章于 2024-07-10 21:37:49 发布