java读取文件内容的三种方法代码片断分享(java文件操作)


当然,Java 中读取文件内容有多种方法,以下是三种常用的方法及其代码片段:

### 方法一:使用 `FileReader` 和 `BufferedReader`


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

public class FileReadExample1 {
    public static void main(String[] args) {
        String filePath = "path/to/your/file.txt"; // 文件路径
        try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

### 方法二:使用 `Files` 和 `Streams`(Java 7+)


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

public class FileReadExample2 {
    public static void main(String[] args) {
        String filePath = "path/to/your/file.txt"; // 文件路径
        try {
            List<String> lines = Files.readAllLines(Paths.get(filePath));
            lines.forEach(System.out::println);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

### 方法三:使用 `FileInputStream` 和 `BufferedReader`


import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class FileReadExample3 {
    public static void main(String[] args) {
        String filePath = "path/to/your/file.txt"; // 文件路径
        try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(filePath), "UTF-8"))) {
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

每种方法都有其适用场景。`FileReader` 和 `BufferedReader` 是最基本的文件读取方式,适用于大多数情况。`Files` 和 `Streams` 是 Java 7 引入的,提供了更简洁的API来处理文件,特别是在处理大文件时。而 `FileInputStream` 和 `BufferedReader` 允许你指定字符编码,这在处理非默认编码的文件时非常有用。