专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java读取文件内容到字符串

Java读取文件内容到字符串

更新时间:2022-04-15 09:36:29 来源:赢咖4 浏览1967次

Java读取文件内容到字符串有哪些方法呢?赢咖4小编来告诉大家。

1. 使用 Files.readString() – Java 11

使用Java 11中引入的新方法readString(),只需一行就可以将文件的内容读入使用 .StringUTF-8 charset

如果在读取操作过程中出现任何错误,此方法可确保文件正确关闭。

如果OutOfMemoryError文件非常大,例如大于 2GB.

示例 1:将完整文件读入字符串

Path filePath = Path.of("c:/temp/demo.txt");
String content = Files.readString(fileName);

2. 使用 Files.lines() – Java 8

lines() 方法将文件中的所有行读取到 Stream 中。当流被消费时,流被延迟填充。

使用指定的字符集将文件中的字节解码为字符。

返回的流包含对打开文件的引用。通过关闭流来关闭文件。

在读取过程中不应修改文件内容,否则结果未定义。

示例 2:将文件读入行流

将文件读取到行流
Path filePath = Path.of("c:/temp/demo.txt");
StringBuilder contentBuilder = new StringBuilder();
try (Stream<String> stream 
  = Files.lines(Paths.get(filePath), StandardCharsets.UTF_8))
{
  //Read the content with Stream
  stream.forEach(s -> contentBuilder.append(s).append("\n"));
}
catch (IOException e)
{
  e.printStackTrace();
}
String fileContent = contentBuilder.toString();

3. 使用 Files.readAllBytes() – Java 7

readAllBytes ()方法将文件中的所有字节读入 byte[]。不要使用这种方法来读取大文件。

此方法确保在读取所有字节或引发 I/O 错误或其他运行时异常时关闭文件。读取所有字节后,我们将这些字节传递给String类构造函数以创建一个新字符串。

示例 3:将整个文件读取到 byte[]

读取文件到字节数组
Path filePath = Path.of("c:/temp/demo.txt");
String fileContent = "";
try
{
    byte[] bytes = Files.readAllBytes(Paths.get(filePath));
    fileContent = new String (bytes);
} 
catch (IOException e) 
{
    e.printStackTrace();
}

4. 使用 BufferedReader – Java 6

如果您仍未使用 Java 7 或更高版本,请使用BufferedReader类。它的readLine()方法一次读取一行文件并返回内容.

示例 4:逐行读取文件

逐行读取文件
Path filePath = Path.of("c:/temp/demo.txt");
String fileContent = "";
StringBuilder contentBuilder = new StringBuilder();
try (BufferedReader br = new BufferedReader(new FileReader(filePath))) 
{
    String sCurrentLine;
    while ((sCurrentLine = br.readLine()) != null) 
    {
        contentBuilder.append(sCurrentLine).append("\n");
    }
} 
catch (IOException e) 
{
    e.printStackTrace();
}
fileContent = contentBuilder.toString();

5. Apache Commons IO

我们可以使用Apache Commons IO库提供的实用程序类。

FileUtils.readFileToString ()是在单个语句中将整个文件读入字符串的绝佳方法。

在单个语句中读取文件
File file = new File("c:/temp/demo.txt");
String content = FileUtils.readFileToString(file, "UTF-8");

以上就是关于“Java读取文件内容到字符串”的介绍,大家如果想了解更多相关知识,不妨来关注一下赢咖4的Java赢咖4在线学习,里面的课程内容从入门到精通,通俗易懂,适合小白学习,希望对大家能够有所帮助。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>