【发布时间】:2012-09-24 04:21:14
【问题描述】:
我正在尝试学习 Java 7 中的 nio 2 包,但偶然发现了 Files.readAllLines(Path p, Charset cs) 方法。我觉得它非常有用,但我认为应该有一个没有cs 参数的版本,就像:
public static List<String> readAllLines(String path)
throws IOException
{ return readAllLines(Paths.get(path), Charset.defaultCharset());}
我确信大多数时候无论如何都会使用默认字符集调用该方法,所以为什么没有快捷方式。关于字符集我有什么遗漏可以证明没有这种方法是合理的吗?我很惊讶,因为 Scala 有这个选项:
Source.fromFile("fileName").getLines
所以我不明白为什么 Java 不应该。有意见吗?
【问题讨论】:
-
也许他们想阻止使用默认字符集,或者他们想尽量减少添加的方法数量。
-
太糟糕了,downvoter 没有评论原因
-
假设默认字符集是让宇宙一开始就陷入字符编码地狱的原因。
-
@OliverStutz,也许他是 nio2 的开发者之一 :)
-
新闻快讯:
readAllLines(String path)被添加到 Java SE 8 中,并且假定的字符集始终为 UTF-8。