cccqy b4936bbbda ### https://gitee.com/jcnc-org/JNotepad/issues/I82EK4
#I82EK4
### 增加侧边文件树按钮 打开文件夹
2023-10-02 21:03:34 +08:00

44 lines
1.2 KiB
Java

package org.jcnc.jnotepad.util;
import org.jcnc.jnotepad.model.entity.DirFileModel;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
* @author : cccqyu
* @createTime 2023/10/2 2:31
* @description 文件工具类
*/
public class FileUtil {
/**
* 将文件夹转为DirFileModel
*
* @param file 文件
* @return DirFileModel 存储文件夹与文件关系的实体类
*/
public static DirFileModel getDirFileModel(File file) {
if (!file.exists()) {
return null;
}
DirFileModel dirFileModel = new DirFileModel(file.getAbsolutePath(), file.getName(), new ArrayList<>());
File[] files = file.listFiles();
if (files != null) {
for (File f : files) {
if (f.isDirectory()) {
DirFileModel childDirFileModel = getDirFileModel(f);
dirFileModel.getChildFile().add(childDirFileModel);
} else {
dirFileModel.getChildFile().add(new DirFileModel(f.getAbsolutePath(), f.getName(), null));
}
}
}
return dirFileModel;
}
}