java需求:读取文件中的数据 33 22 11 55 44 排序后 11 22 33 44 55 再次写到本地文件
以下是Java代码实现:
import java.io.*;
import java.util.*;
public class FileSorter {
public static void main(String[] args) {
// 读取文件中的数据
List<Integer> nums = readFromFile("input.txt");
if (nums == null) {
System.out.println("读取文件失败!");
return;
}
System.out.println("读取到的数据:" + nums);
// 排序
Collections.sort(nums);
// 写入文件
if (!writeToFile("output.txt", nums)) {
System.out.println("写入文件失败!");
return;
}
System.out.println("排序后的数据已写入文件!");
}
// 从文件中读取数据
public static List<Integer> readFromFile(String filename) {
List<Integer> nums = new ArrayList<>();
try (Scanner scanner = new Scanner(new File(filename))) {
while (scanner.hasNextInt()) {
nums.add(scanner.nextInt());
}
} catch (IOException e) {
e.printStackTrace();
return null;
}
return nums;
}
// 将数据写入文件
public static boolean writeToFile(String filename, List<Integer> nums) {
try (PrintWriter writer = new PrintWriter(new FileWriter(filename))) {
for (int num : nums) {
writer.print(num + " ");
}
writer.println();
} catch (IOException e) {
e.printStackTrace();
return false;
}
return true;
}
}
假设输入文件(input.txt)中有以下数据:
33 22 11 55 44
程序会读取这些数据,排序后写入输出文件(output.txt):
11 22 33 44 55
``
原文地址: https://www.cveoy.top/t/topic/fF5Y 著作权归作者所有。请勿转载和采集!