本文介绍了 Java 使用多线程的方式合并多个文本文件。
import java.io.*;
/**
* 使用多线程的方式合并文本文件
*/
public class MergeFilesThread extends Thread {
private File file;
private MergeFilesThread(File file) {
super();
this.file = file;
}
public void run() {
InputStream in = null;
OutputStream out = null;
try {
System.out.println(Thread.currentThread().getName() + file.getName());
in = new FileInputStream(file);
byte[] b = new byte[in.available()];
in.read(b);
out = new FileOutputStream("out.txt", true);
out.write(b);
out.write('\n'); // 每个文件一行
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
in.close();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) throws Exception {
File dir = new File("文件夹路径");
File[] listFiles = dir.listFiles();
for (File file : listFiles) {
MergeFilesThread a1 = new MergeFilesThread(file);
a1.start();
a1.join();
}
}
}