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

Java中读取文件内容的函数

发布时间:2023-06-25 01:27:15

在 Java 中读取文件内容是一项基本的操作,它可以帮助我们通过代码获取文件的内容存储到内存中,方便进行进一步的操作。下面将介绍在 Java 中读取文件内容的函数。

一、读取文本文件

在 Java 中读取文本文件的函数主要有两种:使用 BufferedReader 和 FileReader 读取文本文件和使用 Scanner 读取文本文件。

1. 使用 BufferedReader 和 FileReader 读取文本文件

BufferedReader 和 FileReader 都是 Java I/O 中常用的类,它们能够读取文本文件中的内容并把其存放在内存中。其中 BufferedReader 提供了一个 readLine() 方法,用于读取文本文件中的一行数据。

示例代码:

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

public class ReadFileExample {
    public static void main(String[] args) {
        try {
            FileReader reader = new FileReader("file.txt");
            BufferedReader bufferedReader = new BufferedReader(reader);

            String line = bufferedReader.readLine();
            while (line != null) {
                System.out.println(line);
                line = bufferedReader.readLine();
            }

            bufferedReader.close();
            reader.close();

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

2. 使用 Scanner 读取文本文件

Scanner 是 Java 中的一个类,使用它可以读取文本文件中的数据。Scanner 将文件中的每一行当做一个字符串,然后可以使用 nextLine() 方法对其进行读取。

示例代码:

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

public class ReadFileExample {
    public static void main(String[] args) {

        try {
            File file = new File("file.txt");
            Scanner scanner = new Scanner(file);

            while (scanner.hasNextLine()) {
                String line = scanner.nextLine();
                System.out.println(line);
            }

            scanner.close();

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

二、读取二进制文件

Java 中读取二进制文件与读取文本文件略有不同。因为二进制文件中的数据是以字节形式存储的,所以我们需要使用字节流来读取二进制文件中的数据。

1. 使用 InputStream 和 BufferedInputStream 读取二进制文件

InputStream 和 BufferedInputStream 都是 Java I/O 中用于读取二进制文件的类。其中,InputStream 是一个字节流,可以以字节形式读取二进制文件中的内容,并将其存储到内存中。BufferedInputStream 是 InputStream 的一个缓冲类,可以加快数据读取速度。

示例代码:

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

public class ReadBinaryFileExample {
    public static void main(String[] args) {
        try {
            InputStream in = new FileInputStream("file.bin");
            BufferedInputStream buffer = new BufferedInputStream(in);

            byte[] data = new byte[buffer.available()];
            buffer.read(data);

            buffer.close();
            in.close();

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

2. 使用 DataInputStream 读取二进制文件

DataInputStream 是 Java I/O 中用于读取二进制文件的类。它提供了一系列的 readXxx() 方法,用于读取二进制文件中的不同类型的数据。

示例代码:

import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

public class ReadBinaryFileExample {
    public static void main(String[] args) {
        try {
            InputStream in = new FileInputStream("file.bin");
            DataInputStream data = new DataInputStream(in);

            int i = data.readInt();
            float f = data.readFloat();
            double d = data.readDouble();

            data.close();
            in.close();

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

以上是在 Java 中读取文件内容的函数介绍,其中包括读取文本文件和读取二进制文件的方法。通过了解这些函数的使用方法,我们可以更方便地读取和操作文件内容。