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

Java文件读取函数FileReader的使用方法

发布时间:2023-06-12 11:07:49

Java文件读取函数FileReader是Java中用于读取文件的一个类。它提供了多种方法,可以读取文件的内容并将其存储到指定的String或char[]数组中。本文将详细介绍FileReader的使用方法。

一、FileReader的构造函数

FileReader类有两个构造函数:

1. FileReader(File file) 

使用指定的文件创建一个FileReader对象。

2. FileReader(String fileName)

使用指定的文件名创建一个FileReader对象。

二、FileReader的方法

FileReader类提供了多个方法,可以用来读取文件内容。

1. read()

此方法用于读取单个字符,返回读取的字符的ASCII码或-1(如果已到达流的末尾)。

2. read(char[] cbuf)

此方法可以读取字符数组cbuf中的字符,返回实际读取的字符数或-1(如果已到达流的末尾)。

3. read(char[] cbuf, int off, int len)

此方法读取字符数组cbuf中的len个字符,从off处开始存储。返回实际读取的字符数或-1(如果已到达流的末尾)。

4. skip(long n)

此方法跳过n个字符,返回实际跳过的字符数。

5. close()

此方法关闭该文件流,并释放与该流关联的任何系统资源。

三、FileReader的使用示例

以下是使用FileReader类读取文本文件的示例代码:

import java.io.FileReader;

import java.io.IOException;

public class FileReaderExample {

    public static void main(String[] args) {

        FileReader fr = null;

        try {

            fr = new FileReader("example.txt");

            int ch;

            while ((ch = fr.read()) != -1) {

                System.out.print((char)ch);

            }

        } catch (IOException e) {

            e.printStackTrace();

        } finally {

            try {

                if (fr != null) {

                    fr.close();

                }

            } catch (IOException e) {

                e.printStackTrace();

            }

        }

    }

}

上面的代码使用了FileReader的read()方法来读取文件内容。程序首先创建一个FileReader对象,然后使用while循环和read()方法逐个字符地读取文件内容,并在控制台上打印出来。最后,程序关闭文件流,释放系统资源。

如果要使用read(char[] cbuf)方法来读取文件内容,可以使用以下代码:

import java.io.FileReader;

import java.io.IOException;

public class FileReaderExample2 {

    public static void main(String[] args) {

        FileReader fr = null;

        try {

            fr = new FileReader("example.txt");

            char[] buffer = new char[1024];

            int len;

            while ((len = fr.read(buffer)) != -1) {

                System.out.print(new String(buffer, 0, len));

            }

        } catch (IOException e) {

            e.printStackTrace();

        } finally {

            try {

                if (fr != null) {

                    fr.close();

                }

            } catch (IOException e) {

                e.printStackTrace();

            }

        }

    }

}

上面的代码使用read(char[] cbuf)方法来读取文件内容。程序首先创建一个FileReader对象,然后创建一个char[]数组,使用while循环和read(char[] cbuf)方法逐块读取文件内容,并将其存储到char[]数组中,最后使用String的构造函数将char[]数组转换为字符串,并在控制台上打印出来。

以上就是FileReader的使用方法和示例。无论是使用read()方法还是read(char[] cbuf)方法,文件的读取都同样简单易行。因此,Java文件读取函数FileReader是Java程序员必备的知识之一。