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

Java中如何使用File类的readLines()函数读取文件内容?

发布时间:2023-11-08 18:53:21

在Java中,可以使用File类的readLines()函数读取文件内容,该函数会将文件内容逐行读取为一个List<String>对象。

首先,需要导入java.io包,以便可以使用File类。代码如下:

import java.io.*;

public class FileReaderExample {
    public static void main(String[] args) {
        // 指定文件路径
        File file = new File("path/to/file.txt");

        try {
            FileReader fileReader = new FileReader(file);
            
            // 使用BufferedReader包装FileReader,提高性能
            BufferedReader bufferedReader = new BufferedReader(fileReader);

            String line;
            while ((line = bufferedReader.readLine()) != null) {
                // 逐行读取并输出文件内容
                System.out.println(line);
            }
            
            // 关闭bufferedReader和fileReader
            bufferedReader.close();
            fileReader.close();
        } catch (FileNotFoundException e) {
            System.out.println("文件不存在!");
            e.printStackTrace();
        } catch (IOException e) {
            System.out.println("文件读取错误!");
            e.printStackTrace();
        }
    }
}

上述代码中,首先创建File对象,并指定文件路径。

然后,创建FileReader对象以及BufferedReader对象,用于读取文件的内容。

在while循环中,使用readLine()函数逐行读取文件内容,并将每行内容输出到控制台。

最后,关闭BufferedReader和FileReader对象,以释放资源。

需要注意的是,使用File类的readLines()函数读取文件内容时,可能会抛出FileNotFoundException和IOException异常,因此需要进行异常处理。

另外,为了提高性能,在读取大文件时,可以将BufferedReader作为FileReader的包装器,这样可以使用缓冲机制,减少对磁盘的访问次数,从而提高执行效率。

此外,File类在Java 11及以后的版本,已被废弃,建议使用Path类和Files类来代替。使用Files类的readAllLines()函数可以更简洁地读取文件内容为List<String>对象。