我正在学习Java 7中的nio2包,偶然发现了Files.readAllLines(Path p, Charset cs)方法。我觉得这个方法很有用,但我认为应该有一个没有cs参数的版本,就像下面这样:
所以我不明白为什么Java不能这样做。有什么看法吗?
public static List<String> readAllLines(String path)
throws IOException
{ return readAllLines(Paths.get(path), Charset.defaultCharset());}
我认为大多数情况下该方法会以默认字符集调用,所以为什么不使用快捷方式呢?有没有什么关于字符集的问题我不知道,这是否证明不需要该方法呢?我感到很惊讶,因为Scala有此选项:
Source.fromFile("fileName").getLines
所以我不明白为什么Java不能这样做。有什么看法吗?
readAllLines(String path)
已经在Java SE 8中添加,且默认字符集始终为UTF-8。 - Nayuki