import com.google.common.collect.Lists;
import org.junit.Test;
import java.io.*;
import java.nio.file.Paths;
import java.util.List;
import java.util.Objects;
/**
* <p>
*
* </p>
*
* @author xiachaoyang
* @version V1.3.0
* @date 2019年06月06日 15:39
* @modificationHistory=========================逻辑或功能性重大变更记录
* @modify By: {修改人} 2019年06月06日
* @modify reason: {方法名}:{原因}
* ...
*/
public class ReaderToOneFile {
@Test
public void read() throws Exception {
File root = Paths.get("E:\\workspace\\ishare-project-master\\swagger-enhance\\swagger-transform\\src\\main\\java\\com").toFile();
List<File> files = Lists.newArrayList();
addFile(root, files);
files.forEach(p -> {
System.out.println(p.getAbsolutePath());
});
File target = new File("C:\\Users\\xiachaoyang\\Desktop\\CodeTemp.txt");
wirteFiles(target, files);
}
private void wirteFiles(File target, List<File> files) throws Exception {
/* 写入Txt文件 */
target.createNewFile(); // 创建新文件
BufferedWriter out = new BufferedWriter(new FileWriter(target));
for (File f : files) {
// 建立一个输入流对象reader
FileInputStream fip = new FileInputStream(f);
InputStreamReader reader = new InputStreamReader(fip, "UTF-8");
String line = "> " + f.getName();
out.write(line);
out.write("\r\n"); // \r\n即为换行
out.write("\r\n"); // \r\n即为换行
out.write("```java"); // \r\n即为换行
out.write("\r\n"); // \r\n即为换行
out.write("\r\n"); // \r\n即为换行
StringBuffer sb = new StringBuffer();
while (reader.ready()) {
sb.append((char) reader.read());
// 转成char加到StringBuffer对象中
}
out.write(sb.toString());
out.write("\r\n"); // \r\n即为换行
out.write("\r\n"); // \r\n即为换行
out.write("```"); // \r\n即为换行
out.write("\r\n"); // \r\n即为换行
out.write("\r\n"); // \r\n即为换行
}
out.flush(); // 把缓存区内容压入文件
out.close(); // 最后记得关闭文件
}
public void addFile(File file, List<File> holder) {
if (file.isDirectory()) {
for (File f : Objects.requireNonNull(file.listFiles())) {
addFile(f, holder);
}
} else {
holder.add(file);
}
}
}
读取多个文件后合并到一个txt里
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 今日内容: JavaScript:ECMAScript:BOM:DOM:1. 事件 DOM简单学习:为了满足案例要...
- 【日精进打卡第27天】 【知~学习】 1、诵读《六项精进》大纲 0遍 共31遍 2、诵读《大学》开章篇 0遍 共3...