设计一个java程序,实现下述功能:假设file1.txt包含“1,3,5,7,8”,另一个文件file2.txt包含“2,9,11,13”,编写程序把这两个文件的内容合并到一个新文件夹中,并且要求这些数据必须按照升序排列写入到新文件中。
时间: 2024-02-03 18:04:27 浏览: 56
好的,我可以帮你设计一个 Java 程序来实现这个功能。你可以参考下面的代码:
```java
import java.io.*;
import java.util.*;
public class MergeFiles {
public static void main(String[] args) throws IOException {
// 读取文件1
BufferedReader reader1 = new BufferedReader(new FileReader("file1.txt"));
String line1 = reader1.readLine();
List<Integer> list1 = new ArrayList<>();
while(line1 != null) {
String[] nums = line1.split(",");
for(String num : nums) {
list1.add(Integer.parseInt(num.trim()));
}
line1 = reader1.readLine();
}
reader1.close();
// 读取文件2
BufferedReader reader2 = new BufferedReader(new FileReader("file2.txt"));
String line2 = reader2.readLine();
List<Integer> list2 = new ArrayList<>();
while(line2 != null) {
String[] nums = line2.split(",");
for(String num : nums) {
list2.add(Integer.parseInt(num.trim()));
}
line2 = reader2.readLine();
}
reader2.close();
// 合并并排序
List<Integer> list = new ArrayList<>(list1);
list.addAll(list2);
Collections.sort(list);
// 写入新文件
BufferedWriter writer = new BufferedWriter(new FileWriter("newfile.txt"));
for(Integer num : list) {
writer.write(num.toString());
writer.newLine();
}
writer.close();
System.out.println("合并成功!");
}
}
```
这个程序首先读取两个文件 `file1.txt` 和 `file2.txt` 中的内容,将它们合并到一个 `List` 中,并且对这个 `List` 进行升序排序,最后将排序后的结果写入到一个新的文件 `newfile.txt` 中。你可以根据需要修改文件名和路径。
阅读全文