Computer >> Máy Tính >  >> Lập trình >> Java

Chương trình Java để hợp nhất hai hoặc nhiều tệp thay thế thành tệp thứ ba

Giả sử chúng ta có ba tệp là -

output1.txt

Hello how are you

output2.txt

Welcome to Tutorialspoint

output3.txt

We provide simply easy learning

Ví dụ

Ví dụ Java sau đây hợp nhất nội dung của ba tệp trên vào một tệp duy nhất -

import java.util.Scanner;
public class MergingFiles {
   public static void main(String args[]) throws IOException {
      Scanner sc1 = new Scanner(new File("D://input1.txt"));
      Scanner sc2 = new Scanner(new File("D://input2.txt"));
      Scanner sc3 = new Scanner(new File("D://input3.txt"));
      FileWriter writer = new FileWriter("D://result.txt");
      String str[] = new String[3];
      while (sc1.hasNextLine()||sc2.hasNextLine()||sc3.hasNextLine()) {
         str[0] = sc1.nextLine();
         str[1] = sc2.nextLine();
         str[2] = sc3.nextLine();
      }
      writer.append(str[0]+"\n");
      writer.append(str[1]+"\n");
      writer.append(str[2]+"\n");
      writer.flush();
      System.out.println("Contents added ");
   }
}

Đầu ra

Contents added

Nếu ba tệp trên trực tiếp giống nhau, bạn có thể viết lại chương trình mẫu dưới dạng -

Ví dụ

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class MergingFiles {
   public static void main(String args[]) throws IOException {
      //Creating a File object for directory
      File directoryPath = new File("D:\\example");
      //List of all files and directories
      File filesList[] = directoryPath.listFiles();
      Scanner sc = null;
      FileWriter writer = new FileWriter("D://output.txt");
      for(File file : filesList) {
         sc = new Scanner(file);
         String input;
         StringBuffer sb = new StringBuffer();
         while (sc.hasNextLine()) {
            input = sc.nextLine();
            writer.append(input+"\n");
         }
         writer.flush();
      }
      System.out.println("Contents added ");
   }
}

Đầu ra

Contents added