遍历文件夹内的文件(我们到底能走多远系列2)
我们到底能走多远系列(2)
遍历指定路径下的文件,文件和文件夹需要区分。
为了把文件名和是否为文件夹记录下来,实现一个model
package web.method.file.model; public class FileModel { // 是否为文件夹 private boolean isDirectory; // 文件名 private String fileNmae; public FileModel(boolean isDirectory, String fileNmae) { super(); this.isDirectory = isDirectory; this.fileNmae = fileNmae; } public boolean isDirectory() { return isDirectory; } public void setDirectory(boolean isDirectory) { this.isDirectory = isDirectory; } public String getFileNmae() { return fileNmae; } public void setFileNmae(String fileNmae) { this.fileNmae = fileNmae; } }
遍历个文件夹java封装了方法供使用:
/** * * @param String * path 查询文件路径 * * @return Map<Boolean, String> Boolean->true:文件夹;false:非文件夹,String:文件名/文件夹名 */ private List<FileModel> queryAllFileName(String path) { // 保证path是"/"或"\\"结尾 if ((!path.endsWith(File.pathSeparator)) || (!path.endsWith("\\"))) { path = path + File.pathSeparator; } // 查询路径 File filePath = new File(path); // 路径不存在 if (!filePath.exists()) { return null; } List<FileModel> fileModelList = new ArrayList<FileModel>(); // 路径不是文件夹 if (!filePath.isDirectory()) { FileModel file = new FileModel(false, path); fileModelList.add(file); return fileModelList; } // 取得路劲下文件名或文件夹名 String[] fileNames = filePath.list(); for (int i = 0; i < fileNames.length; i++) { // 判断是否为文件夹 if ((new File(path + fileNames[i])).isDirectory()) { fileModelList.add(new FileModel(true, fileNames[i])); } else { fileModelList.add(new FileModel(false, fileNames[i])); } } return fileModelList; }
分类:
Java
, 我们到底能走多远系列
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述