首页>代码>java数据结构之红黑树实现hashMap源码>/hashMap/src/com/mjy/file/Files.java
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日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友