进阶任务2:编程实现对输入文件的排序 现在有多个输入文件每个文件中的每行内容均为一个整数。要求读取所有文件中的整数进行升序排序后输出到一个新的 文件中输出的整数格式为每行两个整数第一个整数位第二个整数的排序位次第二个整数位原待排列的整数。java实现
思路:
-
首先需要读取多个输入文件,可以使用Java中的BufferedReader进行读取文件操作。
-
将每个文件中读取到的整数存储到一个List中。
-
使用Collections.sort()方法对List进行排序。
-
将排序后的结果输出到一个新的文件中,可以使用Java中的FileWriter进行写文件操作。
-
在输出时,需要记录每个整数的排序位次,可以使用一个计数器变量记录。
代码实现:
import java.io.*;
import java.util.*;
public class FileSorter {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>(); // 用于存储所有待排序的整数
int count = 0; // 用于记录每个整数的排序位次
try {
// 读取多个输入文件
for (String filename : args) {
BufferedReader reader = new BufferedReader(new FileReader(filename));
String line;
while ((line = reader.readLine()) != null) {
int num = Integer.parseInt(line.trim());
list.add(num);
}
reader.close();
}
// 对List进行排序
Collections.sort(list);
// 输出排序结果到新文件中
FileWriter writer = new FileWriter(new File("sorted.txt"));
for (int num : list) {
count++;
writer.write(count + " " + num + "\n");
}
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
使用方法:
-
将以上代码保存为FileSorter.java文件。
-
打开命令行窗口,进入代码所在目录。
-
编译代码:javac FileSorter.java
-
运行代码:java FileSorter file1.txt file2.txt file3.txt
其中file1.txt,file2.txt,file3.txt为待排序的文件名,可以根据实际情况进行修改。
-
运行后会在当前目录下生成一个sorted.txt文件,其中包含排序后的结果。
原文地址: https://www.cveoy.top/t/topic/bfgX 著作权归作者所有。请勿转载和采集!