我之前的文章主要关注可能会添加到JDK 11中的Files.isSameContent()
方法。 JDK-8201276 [“(fs)向文件添加方法以从文件读取字符串或向文件写入字符串”]提到了此新方法,并重点介绍了本文的主题:
-
readString(Path)
-
readString(Path, Charset)
-
writeString(Path, CharSequence, OpenOption...)
-
writeString(Path, CharSequence, Charset, OpenOption...)
Joe Wang最近在core-libs-dev邮件列表上发布了消息 “ RFR(JDK11 / NIO)8201276:(fs)向文件添加用于从文件读取字符串或向文件写入字符串的方法”。 在此消息中,Wang提供了指向相关错误( JDK-8201276 ),所建议的规范(API)差异以及所建议的代码更改的链接 。
在另一种情况下,提议的更改导致了一些有趣的讨论。 以该消息开头的线程包括有关在方法实现中是否包括操作系统特定的行分隔符 Files.readString
讨论 ,有关readString
方法的替代方法的讨论,例如简单的Files.lines().collect(Collectors.joining("\n"))
, 原始字符串文字如何处理行分隔符的说明 ,这些方法的常见用例的示例 ,以及File.deleteOnExit()与单元测试的结合使用 。
JDK-8201276显示,JDK 11当前计划了用于实现“将文件的内容读入字符串并将字符串文本写入文件”的“通用操作”的提议方法。
翻译自: https://www.javacodegeeks.com/2018/05/new-jdk-11-files-methods-for-reading-writing-strings-from-to-files.html