Java IO API的改进

Files.list(Path dir)

返回一个延迟填充的Stream,其中的元素是目录中的条目。

  1. //返回目录下的元素集合流
  2. Stream<Path> list = Files.list(new File("C:\\Users\\Administrator\\Desktop").toPath());
  3. list.forEach(System.out::println);

Files.lines(Path path)

从文件中读取所有行作为流。

  1. //返回文件中的所有行数
  2. Stream<String> lines = Files.lines(new File("C:\\Users\\Administrator\\Desktop\\new 3.txt").toPath());
  3. lines.forEach(System.out::println);

Files.find()

通过搜索以给定起始文件为根的文件树中的文件,返回使用Path延迟填充的Stream。

  1. //返回符合判断条件的Path流
  2. Stream<Path> stream = Files.find(new File("C:\\Users\\Administrator\\Desktop").toPath(),
  3. 1,
  4. (path, basicFileAttributes) -> basicFileAttributes.isDirectory());
  5. stream.forEach(System.out::println);

BufferedReader.lines()

返回一个Stream,其元素是从这个BufferedReader读取的行。

  1. //返回文件中的所有行数,类似Files.lines()
  2. BufferedReader br = new BufferedReader(new FileReader("C:\\Users\\Administrator\\Desktop\\new 3.txt"));
  3. Stream<String> stringStream = br.lines();
  4. stringStream.forEach(System.out::println);