Guava I/O对读和写文件称为Sources和Sinks。Sources和Sinks 滋生并不是streams', readers', 或writers'对象,而是相似的provider。
Source and Sink可以由两种方式使用:
目前有两种类型的Sources:ByteSource
和CharsSource
。同样,有两种类型的Sinks:ByteSink
和 CharSink
。不同的Source和Sink类提供的功能是相似的,不同点在于我们需要处理的是字符或是元素byte。Files类提供了一些使用ByteSink和CharSink操作文件的方法。我们可以通过Files、ByteStreams或CharStreams类的静态工厂,建立ByteSource, ByteSink, CharSource,或CharSink。