本教程将介绍如何使用 Java 代码读取文件中的数据,对数据进行排序,并将排序后的结果写入到另一个文件中。

假设文件 data.txt 中包含以下数据:

33 22 11 55 44

目标是将这些数据读取到程序中,排序后输出到新的文件 sorted_data.txt 中。以下代码实现了该功能:

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class FileSorter {
    public static void main(String[] args) {
        // 读取文件中的数据
        ArrayList<Integer> list = readFromFile('data.txt');
        System.out.println('读取到的数据为:' + list);

        // 排序
        Collections.sort(list);
        System.out.println('排序后的结果为:' + list);

        // 写入到本地文件
        writeToFile(list, 'sorted_data.txt');
        System.out.println('已将排序后的结果写入到文件 sorted_data.txt 中。');
    }

    public static ArrayList<Integer> readFromFile(String filename) {
        ArrayList<Integer> list = new ArrayList<>();
        try {
            Scanner scanner = new Scanner(new File(filename));
            while (scanner.hasNextInt()) {
                list.add(scanner.nextInt());
            }
            scanner.close();
        } catch (FileNotFoundException e) {
            System.err.println('文件 ' + filename + ' 不存在!');
        }
        return list;
    }

    public static void writeToFile(ArrayList<Integer> list, String filename) {
        try {
            FileWriter writer = new FileWriter(new File(filename));
            for (int i = 0; i < list.size(); i++) {
                writer.write(list.get(i) + ' ');
            }
            writer.close();
        } catch (IOException e) {
            System.err.println('写入文件 ' + filename + ' 失败!');
        }
    }
}

代码解释:

  1. readFromFile() 方法

    • 从指定文件 filename 中读取数据,并将其存储在 ArrayList<Integer> 中。
    • 使用 Scanner 类逐行读取文件内容,并将每个整型数据添加到 list 中。
    • 如果文件不存在,会打印错误信息。
  2. writeToFile() 方法

    • list 中的排序后的数据写入到指定文件 filename 中。
    • 使用 FileWriter 类将数据写入到文件。
    • 每个数据之间用空格隔开。
    • 如果写入文件失败,会打印错误信息。
  3. main() 方法

    • 调用 readFromFile() 方法读取文件数据。
    • 使用 Collections.sort() 方法对数据进行排序。
    • 调用 writeToFile() 方法将排序后的数据写入到新文件。

这段代码演示了如何使用 Java 代码对文件进行数据读取、排序和写入操作,并提供了详细的解释,方便读者理解和应用。

Java 文件排序:读取、排序并写入数据

原文地址: https://www.cveoy.top/t/topic/olXx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录