引言
Guava 使用术语 流来表示可关闭的,并且在底层资源中有位置状态的 I/O 数据流。字节流对应的工具类为 ByteSterams,字符流对应的工具类为 CharStreams。
Guava 中为了避免和流直接打交道,抽象出可读的 源 source 和可写的 汇 sink 两个概念,指可以从中打开流的资源,比如 File、URL,同样也分别有字节和字符对应的源和汇,定义了一系列读写的方法。
Guava IO 极大简化了文件和流的操作。比如说,读写文件这种看似简单的操作,在Java原生代码中可能要写好几行,还不包括错误处理。Guava则可以用一两行搞定,简洁到让人惊叹。其次,它还提供了更丰富的功能,比如对不同字符集的处理,还有资源的高效管理。这些都是在开发过程中经常遇到的问题,Guava给了我们优雅的解决方案。