用streamAPI对文件进行读写
时间: 2024-09-11 10:13:08 浏览: 45
Stream API在Java中是一种强大的工具,用于处理大量数据流,包括文件操作。它支持从文件系统读取数据和向文件系统写入数据,无需一次性将整个文件加载到内存。
**读取文件**:
你可以使用`Files.lines()`或者`Files.readAllBytes()`方法结合`Stream`来逐行或一次性读取文件内容。例如:
```java
try (InputStream inputStream = Files.newInputStream(file.toPath())) {
// 逐行读取
List<String> lines = Files.lines(inputStream)
.collect(Collectors.toList());
// 或一次性读取所有字节
byte[] content = Files.readAllBytes(file.toPath());
}
```
**写入文件**:
创建一个新的`OutputStream`,然后通过`Files.write()`方法将数据写入文件:
```java
try (BufferedWriter writer = Files.newBufferedWriter(outputFile)) {
for (String line : data) {
writer.write(line);
writer.newLine();
}
}
```
或者使用更简洁的流式写法:
```java
Files.write(outputFile, data, StandardCharsets.UTF_8);
```
记得在完成操作后关闭资源,使用`try-with-resources`语句可以自动关闭。
阅读全文