本文介绍了 Java 使用多线程的方式合并多个文本文件。

    1. import java.io.*;
    2. /**
    3. * 使用多线程的方式合并文本文件
    4. */
    5. public class MergeFilesThread extends Thread {
    6. private File file;
    7. private MergeFilesThread(File file) {
    8. super();
    9. this.file = file;
    10. }
    11. public void run() {
    12. InputStream in = null;
    13. OutputStream out = null;
    14. try {
    15. System.out.println(Thread.currentThread().getName() + file.getName());
    16. in = new FileInputStream(file);
    17. byte[] b = new byte[in.available()];
    18. in.read(b);
    19. out = new FileOutputStream("out.txt", true);
    20. out.write(b);
    21. out.write('\n'); // 每个文件一行
    22. } catch (Exception e) {
    23. e.printStackTrace();
    24. } finally {
    25. try {
    26. in.close();
    27. out.close();
    28. } catch (Exception e) {
    29. e.printStackTrace();
    30. }
    31. }
    32. }
    33. public static void main(String[] args) throws Exception {
    34. File dir = new File("文件夹路径");
    35. File[] listFiles = dir.listFiles();
    36. for (File file : listFiles) {
    37. MergeFilesThread a1 = new MergeFilesThread(file);
    38. a1.start();
    39. a1.join();
    40. }
    41. }
    42. }