欢迎访问宙启技术站
智能推送

Java函数:如何批量读取、写入和修改文件?

发布时间:2023-07-04 22:42:41

在Java中,可以使用File类和Scanner类来批量读取、写入和修改文件。

1. 批量读取文件:

使用File类的listFiles()方法可以获取指定文件夹下的所有文件。可以使用循环遍历这些文件,并使用Scanner类的构造函数从文件中读取数据。

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class FileBatchProcessing {
    public static void main(String[] args) {
        File folder = new File("folderPath");
        File[] files = folder.listFiles();

        for (File file : files) {
            try (Scanner scanner = new Scanner(file)) {
                while (scanner.hasNextLine()) {
                    String line = scanner.nextLine();
                    // 处理每一行数据
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
        }
    }
}

2. 批量写入文件:

使用File类的构造函数可以创建指定路径的文件。在循环中,使用File类的createNewFile()方法创建文件,然后使用FileWriter类或BufferedWriter类将数据写入文件。

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class FileBatchProcessing {
    public static void main(String[] args) {
        File folder = new File("folderPath");
        File[] files = folder.listFiles();

        for (File file : files) {
            try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) {
                // 将数据写入文件
                writer.write("data");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

3. 批量修改文件:

使用File类的构造函数可以获取指定路径的文件。在循环中,可以使用Scanner类从文件中读取数据,在对数据进行处理后,使用FileWriter类或BufferedWriter类将修改后的数据写回到文件中。

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class FileBatchProcessing {
    public static void main(String[] args) {
        File folder = new File("folderPath");
        File[] files = folder.listFiles();

        for (File file : files) {
            try (Scanner scanner = new Scanner(file)) {
                StringBuilder content = new StringBuilder();
                while (scanner.hasNextLine()) {
                    String line = scanner.nextLine();
                    // 修改每一行数据并追加到StringBuilder中
                    line = line.toUpperCase();
                    content.append(line).append(System.lineSeparator());
                }

                try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) {
                    writer.write(content.toString());
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

以上是使用Java读取、写入和修改文件的简单示例,可以根据具体需求进行修改和扩展。