B.5 Files

Files类最引人注目的改变是,你现在可以用文件直接产生流。第5章中提到过新的静态方法Files.lines,通过该方法你可以以延迟方式读取文件的内容,并将其作为一个流。此外,还有一些非常有用的静态方法可以返回流。

  • Files.list——生成由指定目录中所有条目构成的Stream。这个列表不是递归包含的。由于流是延迟消费的,因此处理包含内容非常庞大的目录时,这个方法非常有用。
  • Files.walk——和Files.list有些类似,它也生成包含给定目录中所有条目的Stream。不过这个列表是递归的,你可以设定递归的深度。注意,该遍历是依照深度优先进行的。
  • Files.find——通过递归地遍历一个目录找到符合条件的条目,并生成一个Stream对象。