Java 文件流

2018-03-12 17:30 更新

Java流 - Java文件流


来自Java 8的java.io和java.nio.file包添加了许多方法来支持使用流的I/O操作。

我们可以从文件中读取文本作为字符串流。流中的每个元素表示一行文本。

我们还可以使用流从JarFile读取JarEntry,我们可以读取目录中的条目作为Path流。

自动关闭

调用stream上的close()方法将关闭底层文件。

或者,我们可以在try-with-resources语句中创建流,以便自动关闭底层文件。


例子

以下代码显示如何使用流读取文件的内容。

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.stream.Stream;

public class Main {
  public static void main(String[] args) {
    Path path = Paths.get("./Main.java");
    try (Stream<String> lines = Files.lines(path)) {
      lines.forEach(System.out::println);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

上面的代码生成以下结果。

例2

以下代码显示如何使用流读取路径。

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.stream.Stream;

public class Main {
  public static void main(String[] args) {
    Path dir = Paths.get(".");
    System.out.printf("%nThe file tree for %s%n", 
        dir.toAbsolutePath());
    try (Stream<Path> fileTree = Files.walk(dir)) {
      fileTree.forEach(System.out::println);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

上面的代码生成以下结果。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号