假设我们有三个文件-
output1.txtHello how are you
output2.txtWelcome to Nhooo
output3.txtWe provide simply easy learning
示例
以下Java示例将上述三个文件的内容交替合并为一个文件-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 ");
}
}
输出结果Contents added
如果以上三个文件直接位于同一文件夹中,则可以将示例程序重写为-
示例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 ");
}
}
输出结果Contents added