package com.mjy.file; import java.io.BufferedReader; import java.io.File; import java.io.FileFilter; import java.io.FileReader; import java.io.IOException; public class Files { /** * 读取文件内容 * @param file * @return */ public static FileInfo read(String file) { if (file == null) return null; FileInfo info = new FileInfo(); StringBuilder sb = new StringBuilder(); try (FileReader reader = new FileReader(file); BufferedReader br = new BufferedReader(reader)) { String line; while ((line = br.readLine()) != null) { sb.append(line).append("\n"); info.setLines(info.getLines() + 1); } int len = sb.length(); if (len > 0) { sb.deleteCharAt(len - 1); } } catch (IOException e) { e.printStackTrace(); } info.setFiles(info.getFiles() + 1); info.setContent(sb.toString()); return info; } /** * 读取文件夹下面的文件内容 * @param dir * @param extensions * @return */ public static FileInfo read(String dir, String[] extensions) { if (dir == null) return null; File dirFile = new File(dir); if (!dirFile.exists()) return null; FileInfo info = new FileInfo(); dirFile.listFiles(new FileFilter() { public boolean accept(File subFile) { String subFilepath = subFile.getAbsolutePath(); if (subFile.isDirectory()) { info.append(read(subFilepath, extensions)); } else if (extensions != null && extensions.length > 0) { for (String extension : extensions) { if (subFilepath.endsWith("." + extension)) { info.append(read(subFilepath)); break; } } } else { info.append(read(subFilepath)); } return false; } }); return info; } }

matintalorr LV10
2021年8月31日
17600446733 LV21
2020年6月23日
2650343087 LV6
2020年5月26日
wyyxhzzp LV1
2020年2月18日
宇1314520乔 LV1
2020年1月31日
dajian LV1
2020年1月18日
最代码官方 LV168
2020年1月16日

3334004690 LV10
2024年3月6日
如果不曾相遇 LV3
2023年5月6日
我爱你野狼123
2023年3月22日
暂无贡献等级
woaini12788 LV7
2022年1月17日
ooooops
2022年1月11日
暂无贡献等级
luozf1990 LV3
2022年1月4日
matintalorr LV10
2021年8月31日
絮落无痕 LV13
2021年4月21日
孤独の王者 LV6
2021年4月17日
蹦迪的小熊 LV5
2021年4月8日