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

Java函数:如何读取和写入文件

发布时间:2023-06-06 12:54:41

Java 是一种流行的编程语言,它被广泛应用于各种不同的应用程序中。在许多情况下,应用程序需要从外部文件中读取数据或将数据写入到外部文件。在这篇文章中,我们将探讨如何使用 Java 函数读取和写入文件。

## 读取文件

读取文件是将文件中的数据加载到 Java 应用程序中的过程。以下是一些使用 Java 函数读取文件的示例。

### 使用 BufferedReader 读取文件

Java 的 BufferedReader 类提供了一个简单的方法来读取文件中的数据。这个函数需要传递一个文件的路径,并且返回文件的内容作为一个字符串。

import java.io.BufferedReader;
import java.io.FileReader;

public class ReadFile {

    public static void main(String[] args) {
        String fileName = "file.txt";
        String line = null;

        try (BufferedReader bufferedReader = new BufferedReader(new FileReader(fileName))) {
            while ((line = bufferedReader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

在上面的代码中,我们使用了 try-with-resources 语句来打开文件并自动关闭文件。在这个循环中,我们读取文件的每一行,并将其打印到控制台上。

### 使用 Scanner 读取文件

Java 中的 Scanner 类也可以用于读取文件。它提供了一些方便的方法,可以逐个读取文件中的单词、数字和行。

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

public class ReadFile {

    public static void main(String[] args) {
        String fileName = "file.txt";
        File file = new File(fileName);

        try (Scanner scanner = new Scanner(file)) {
            while (scanner.hasNextLine()) {
                String line = scanner.nextLine();
                System.out.println(line);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

### 使用 FileInputStream 读取文件

Java 中的 FileInputStream 类提供了一种读取文件的方法,它可以一次读取文件的一部分。

import java.io.FileInputStream;

public class ReadFile {

    public static void main(String[] args) {
        String fileName = "file.txt";
        byte[] buffer = new byte[1024];

        try (FileInputStream fileInputStream = new FileInputStream(fileName)) {
            int bytesRead = 0;
            while ((bytesRead = fileInputStream.read(buffer)) != -1) {
                System.out.println(new String(buffer, 0, bytesRead));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

在上面的代码中,我们使用了一个 byte 数组作为缓冲区,这个数组的大小为 1024 字节。每次从文件中读取 1024 个字节,直到文件中的数据被完全读取。

## 写入文件

将数据写入文件可以将应用程序中的数据保存到外部文件中,以便之后使用。以下是一些使用 Java 函数写入文件的示例。

### 使用 BufferedWriter 写入文件

Java 中的 BufferedWriter 类提供了一种将数据写入文件的方法,这个函数需要传递一个文件的路径和需要写入的数据,并将数据写入到文件中。

import java.io.BufferedWriter;
import java.io.FileWriter;

public class WriteFile {

    public static void main(String[] args) {
        String fileName = "file.txt";
        String data = "Hello, world!";

        try (BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(fileName))) {
            bufferedWriter.write(data);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

在上面的代码中,我们使用了 try-with-resources 语句来打开文件并自动关闭文件。我们将数据写入文件中,并在完成后关闭 BufferedWriter。

### 使用 FileOutputStream 写入文件

Java 中的 FileOutputStream 类提供了一种将数据写入文件的方法,它可以将单个字节或字节数组写入到文件中。

import java.io.FileOutputStream;

public class WriteFile {

    public static void main(String[] args) {
        String fileName = "file.txt";
        byte[] data = "Hello, world!".getBytes();

        try (FileOutputStream fileOutputStream = new FileOutputStream(fileName)) {
            fileOutputStream.write(data);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

在上面的代码中,我们将数据转换为字节数组,并将其写入文件中。

## 总结

在本文中,我们介绍了使用 Java 函数读取和写入文件的方法。在实际编写应用程序时,这些函数将非常有用。无论是读取配置文件、日志文件还是将结果写入文件,Java 都提供了一些简单有效的函数来处理文件。