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

使用Java文件I/O函数读取和写入文件

发布时间:2023-09-23 18:36:12

Java提供了许多文件I/O函数,用于读取和写入文件。下面将介绍几个常用的函数。

1. FileInputStream和FileOutputStream

FileInputStream类用于从文件中读取字节流,而FileOutputStream类用于向文件中写入字节流。这两个类的构造函数需要传入文件的路径作为参数。下面的代码示例展示了如何使用这两个类读取和写入文件:

try {
    // 读取文件
    FileInputStream fis = new FileInputStream("input.txt");
    int data;
    while ((data = fis.read()) != -1) {
        // 处理读取的字节
    }
    fis.close();

    // 写入文件
    FileOutputStream fos = new FileOutputStream("output.txt");
    String content = "Hello, World!";
    fos.write(content.getBytes());
    fos.close();
} catch (IOException e) {
    e.printStackTrace();
}

2. BufferedReader和BufferedWriter

BufferedReader类使用了缓冲区来提高文件的读取效率,而BufferedWriter类使用了缓冲区来提高文件的写入效率。这两个类的构造函数需要传入一个Reader或Writer对象作为参数。下面的代码示例展示了如何使用这两个类读取和写入文件:

try {
    // 读取文件
    BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
    String line;
    while ((line = reader.readLine()) != null) {
        // 处理读取的文本行
    }
    reader.close();

    // 写入文件
    BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"));
    writer.write("Hello, World!");
    writer.close();
} catch (IOException e) {
    e.printStackTrace();
}

3. Scanner和PrintWriter

Scanner类可用于从文件中读取各种类型的数据,而PrintWriter类可用于向文件中写入各种类型的数据。这两个类的构造函数需要传入一个File对象或文件路径作为参数。下面的代码示例展示了如何使用这两个类读取和写入文件:

try {
    // 读取文件
    Scanner scanner = new Scanner(new File("input.txt"));
    while (scanner.hasNext()) {
        String word = scanner.next();
        // 处理读取的单词
    }
    scanner.close();

    // 写入文件
    PrintWriter writer = new PrintWriter("output.txt");
    writer.println("Hello, World!");
    writer.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
}

以上是几个常用的Java文件I/O函数的示例。通过这些函数,您可以灵活地读取和写入文件,并根据需要处理所读取的数据。在实际开发中,可以根据具体的需求选择适合的函数来操作文件。