更新时间:2022-04-15 09:36:29 来源:极悦 浏览2372次
Java读取文件内容到字符串有哪些方法呢?极悦小编来告诉大家。
使用Java 11中引入的新方法readString(),只需一行就可以将文件的内容读入使用 .StringUTF-8 charset
如果在读取操作过程中出现任何错误,此方法可确保文件正确关闭。
如果OutOfMemoryError文件非常大,例如大于 2GB.
示例 1:将完整文件读入字符串
Path filePath = Path.of("c:/temp/demo.txt");
String content = Files.readString(fileName);
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();
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();
}
如果您仍未使用 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();
我们可以使用Apache Commons IO库提供的实用程序类。
FileUtils.readFileToString ()是在单个语句中将整个文件读入字符串的绝佳方法。
在单个语句中读取文件
File file = new File("c:/temp/demo.txt");
String content = FileUtils.readFileToString(file, "UTF-8");
以上就是关于“Java读取文件内容到字符串”的介绍,大家如果想了解更多相关知识,不妨来关注一下极悦的Java极悦在线学习,里面的课程内容从入门到精通,通俗易懂,适合小白学习,希望对大家能够有所帮助。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习