无论是使用webflux还是reactor都有访问文件获取数据的需求,这里简单介绍reactor读写文件的方法:
项目目录下准备一个文件命名info.txt,随便写点什么东西:
Mono读文件
- mono可以通过callable进行文件的读取
- 因为mono元素只能是0或1个,这里通过Files的readAllLines方法获取list
@Test
public void monoRead() {
Mono.fromCallable(()-> Files.readAllLines(Paths.get("info.txt")))
.log()
.subscribe();
}
运行结果如下
Flux读文件
两种方法:
- 通过Files的readAllLines方法获取list,在由Flux的fromIterable接收
- 通过Files的lines方法活的stream;再由Flux的fromStream接收
@Test
public void FluxRead() throws IOException{
log.info("--------------------from iterable--------------------------");
Flux.fromIterable(Files.readAllLines(Paths.get