程序员社区

Java IO教程 --- Java逐行读取文件

今天我们将逐行研究不同的java读取文件方法。有时我们必须逐行读取文件到字符串,例如通过将每一行作为字符串传递来调用方法来处理它。

Java 逐行读取文件

file

我们可以使用不同的方式逐行读取文件。让我们来看看其中的一些。

Java使用BufferedReader逐行读取文件

我们可以使用java.io.BufferedReader readLine()方法逐行读取文件到字符串。当到达文件末尾时,此方法返回 null。下面是一个简单的程序,显示了使用 BufferedReader 逐行读取 java 文件的示例。

package com.journaldev.readfileslinebyline;

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

public class ReadFileLineByLineUsingBufferedReader {

    public static void main(String[] args) {
        BufferedReader reader;
        try {
            reader = new BufferedReader(new FileReader(
                    "/Users/pankaj/Downloads/myfile.txt"));
            String line = reader.readLine();
            while (line != null) {
                System.out.println(line);
                // read next line
                line = reader.readLine();
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Java 使用 Scanner 逐行读取文件

我们可以使用Scanner类打开一个文件,然后逐行读取其内容。以下是逐行读取文件并打印的扫描仪示例。

package com.journaldev.readfileslinebyline;

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

public class ReadFileLineByLineUsingScanner {

    public static void main(String[] args) {
        try {
            Scanner scanner = new Scanner(new File("/Users/pankaj/Downloads/myfile.txt"));
            while (scanner.hasNextLine()) {
                System.out.println(scanner.nextLine());
            }
            scanner.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }

}

Java使用文件逐行读取文件

java.nio.file.Files是一个实用程序类,包含各种有用的方法。FilesreadAllLines方法可用于将所有文件行读入一个字符串列表。

package com.journaldev.readfileslinebyline;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;

public class ReadFileLineByLineUsingFiles {

    public static void main(String[] args) {
        try {
            List<String> allLines = Files.readAllLines(Paths.get("/Users/pankaj/Downloads/myfile.txt"));
            for (String line : allLines) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

Java使用RandomAccessFile逐行读取文件

我们可以使用RandomAccessFile以读取模式打开文件,然后使用其readLine方法逐行读取文件。

package com.journaldev.readfileslinebyline;

import java.io.IOException;
import java.io.RandomAccessFile;

public class ReadFileLineByLineUsingRandomAccessFile {

    public static void main(String[] args) {
        try {
            RandomAccessFile file = new RandomAccessFile("/Users/pankaj/Downloads/myfile.txt", "r");
            String str;
            while ((str = file.readLine()) != null) {
                System.out.println(str);
            }
            file.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

这就是java使用不同方法逐行读取文件的全部内容。

赞(0) 打赏
未经允许不得转载:IDEA激活码 » Java IO教程 --- Java逐行读取文件

一个分享Java & Python知识的社区