java合并一个文件夹下所有txt文件,输出到另一个…
2020-01-13 16:05:12来源:博客园 阅读 ()
java合并一个文件夹下所有txt文件,输出到另一个txt
Posted on 2020-01-13 21:50 dawndust 阅读(...) 评论(...) 编辑 收藏最近写了个单元测试,递归调用方法,把同一个文件夹里所有的txt合并输出到一个txt文件。参考了两个博客,分别是已有的方法,还有个就是检测txt文件所用编码的技术贴。如果不检测txt文件的编码,那么
转换出的txt文件大概率会乱码。一开始尝试UTF-8和GBK等编码格式转换后都是乱码,一度以为是方法的问题。后来检测到原txt的编码是
UTF-16LE。。。这才转换成功。
第一部分是参考了https://www.cnblogs.com/braveym/p/10810153.html,加入了递归调用
import java.io.*;
public class TxtCombination {
public static void main(String[] args) throws IOException {
String originPath = "C:\\test\\help";
textCombiner(new File(originPath));
}
/**
* 递归调用该方法,当目录下无文件夹时,输出当前目录下所有txt文件,合并为一个txt文件,文件名由父文件夹名连接而成
* @param
*/
public static void textCombiner(File file) throws IOException{
//首先判断传入的参数是不是纯文件夹(无子文件夹)
Boolean dirFlag = false;
for (File temp : file.listFiles()) {
if (temp.isDirectory()) {
dirFlag = true;
textCombiner(temp);
}
}
if (dirFlag) {
return;
}
String directoryPath = file.getAbsolutePath().replace("C:\\test\\help\\","").replace("\\", "-");
// String joinedName = String.join("-", split);
//定义输出目录
String FileOut="D:\\Mycode\\SBgong\\output\\"+ directoryPath;
// new File(FileOut).mkdirs();
String filePath = FileOut + ".txt";
new File(filePath).createNewFile();
BufferedWriter bw=new BufferedWriter(new FileWriter(filePath));
File[] listFiles = new File(file.getAbsolutePath()).listFiles();
for (File child : listFiles) {
if (child.isFile() && child.getName().endsWith("txt")) {
//不加编码的格式,读取的内容很有可能是乱码的
// BufferedReader br = new BufferedReader(new FileReader(child));
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(child),"UTF-16LE"));
String line;
while((line=br.readLine())!=null) {
bw.write(line);
bw.newLine();
}
br.close();
}
}
bw.close();
}
}
第二部分:
参考https://blog.csdn.net/yili0000a/article/details/82703296
原文链接:https://www.cnblogs.com/geekheart/p/12189534.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash