Files.readString(path, StandardCharsets.UTF_8);提示找不到符号:
符号: 方法 readString(java.nio.file.Path,java.nio.charset.Charset)
位置: 类 java.nio.file.Files
如果你正在使用的是 JDK 11 或更早版本的 JDK,则 Files.readString(path, charset)
不可用,你可以使用以下任一解决方案:
- 使用
Files.lines()
方法逐行读取文件内容,然后使用String.join()
方法将它们连接起来:
List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
String content = String.join(System.lineSeparator(), lines);
- 使用
FileInputStream
和BufferedReader
逐行读取文件内容,以字符串形式存储:
StringBuilder contentBuilder = new StringBuilder();
try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(path.toFile()), StandardCharsets.UTF_8))) {String line;while ((line = br.readLine()) != null) {contentBuilder.append(line).append(System.lineSeparator());}
}
String content = contentBuilder.toString();
在上述代码中,我们逐行读取文件内容,并将其连接或附加到字符串构建器中。最终,我们使用字符串构建器中的字符串生成文件内容字符串。
请注意,以上解决方案中的 System.lineSeparator()
方法用于在不同平台(Windows、Linux、Mac等)下生成正确的行分隔符,以便更好地处理文件内容。
如果你正在使用 JDK 12 或更高版本的 JDK,则 Files.readString(path, charset)
可用,并且可以像这样简单地读取文件内容:
String content = Files.readString(path, StandardCharsets.UTF_8);