杰瑞科技汇

Java如何读取文件内容为String?

Java读取文件内容为String的几种方法

在Java中,有几种常见的方法可以将文件内容读取为String,以下是几种主要的方法:

Java如何读取文件内容为String?-图1
(图片来源网络,侵删)

使用Files.readString (Java 11+)

这是最简单的方法,适用于Java 11及以上版本:

import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.IOException;
public class ReadFileToString {
    public static void main(String[] args) {
        try {
            String content = Files.readString(Paths.get("path/to/your/file.txt"));
            System.out.println(content);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用Files.readAllLines (Java 8+)

适用于Java 8及以上版本:

import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.IOException;
import java.util.List;
public class ReadFileToString {
    public static void main(String[] args) {
        try {
            List<String> lines = Files.readAllLines(Paths.get("path/to/your/file.txt"));
            String content = String.join("\n", lines);
            System.out.println(content);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用BufferedReader (传统方法)

适用于所有Java版本:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileToString {
    public static void main(String[] args) {
        StringBuilder content = new StringBuilder();
        try (BufferedReader reader = new BufferedReader(new FileReader("path/to/your/file.txt"))) {
            String line;
            while ((line = reader.readLine()) != null) {
                content.append(line).append("\n");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println(content.toString());
    }
}

使用Scanner (Java 5+)

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ReadFileToString {
    public static void main(String[] args) {
        try {
            Scanner scanner = new Scanner(new File("path/to/your/file.txt"));
            StringBuilder content = new StringBuilder();
            while (scanner.hasNextLine()) {
                content.append(scanner.nextLine()).append("\n");
            }
            scanner.close();
            System.out.println(content.toString());
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

使用Apache Commons IO (第三方库)

如果你使用Maven或Gradle,可以添加Apache Commons IO依赖:

Java如何读取文件内容为String?-图2
(图片来源网络,侵删)
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.11.0</version>
</dependency>

然后使用:

import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
public class ReadFileToString {
    public static void main(String[] args) {
        try {
            String content = FileUtils.readFileToString(new File("path/to/your/file.txt"), StandardCharsets.UTF_8);
            System.out.println(content);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

注意事项

  1. 文件路径:确保文件路径正确,可以是绝对路径或相对路径
  2. 字符编码:对于非ASCII字符,指定正确的字符编码(如UTF-8)
  3. 异常处理:文件操作可能抛出IOException,需要适当处理
  4. 大文件:对于大文件,建议使用BufferedReader逐行读取而不是一次性读取整个文件

选择哪种方法取决于你的Java版本、项目需求和性能考虑,Java 11+的Files.readString()是最简洁的选择。

Java如何读取文件内容为String?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇