设计一个java程序,实现下述功能:假设file1.txt包含“1,3,5,7,8”,另一个文件file2.txt包含“2,9,11,13”,编写程序把这两个文件的内容合并到一个新文件夹中,并且要求这些数据必须按照升序排列写入到新文件夹中
时间: 2024-02-05 21:03:18 浏览: 59
好的,以下是实现这个功能的Java程序:
```java
import java.io.*;
import java.util.*;
public class MergeFiles {
public static void main(String[] args) {
try {
// 读取file1.txt文件
BufferedReader reader1 = new BufferedReader(new FileReader("file1.txt"));
String line1 = reader1.readLine();
String[] nums1 = line1.split(",");
ArrayList<Integer> list1 = new ArrayList<Integer>();
for (String num : nums1) {
list1.add(Integer.parseInt(num.trim()));
}
reader1.close();
// 读取file2.txt文件
BufferedReader reader2 = new BufferedReader(new FileReader("file2.txt"));
String line2 = reader2.readLine();
String[] nums2 = line2.split(",");
ArrayList<Integer> list2 = new ArrayList<Integer>();
for (String num : nums2) {
list2.add(Integer.parseInt(num.trim()));
}
reader2.close();
// 合并并排序
ArrayList<Integer> list = new ArrayList<Integer>();
list.addAll(list1);
list.addAll(list2);
Collections.sort(list);
// 写入新文件
BufferedWriter writer = new BufferedWriter(new FileWriter("newfile.txt"));
for (Integer num : list) {
writer.write(num.toString() + ",");
}
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个程序的思路是先读取两个文件的内容,将它们合并成一个列表,并且对这个列表进行排序。然后再将排序好的数据写入到一个新文件中。需要注意的是,读取文件和写入文件都需要使用字符流类来进行操作。
阅读全文