OKio结构图
从左半部分的图我们可以看出OKio本质是对Java原生IO对一次封装。
那么,在OKio 的帮助下,完成一次读写操作又是怎样的呢?
OKio读取文本
下面是一段按行读取文本的代码,其首先构建一个Source,类似于Java的InputStream,然后构建一个BufferedSource,类似于Java的BufferedInputStream,最后就可以直接按行读取文本了。
public void readLines(File file) throws IOException {
// 1.构建 Source
try (Source fileSource = Okio.source(file);
// 2.构建 BufferedSource
BufferedSource bufferedSource = Okio.buffer(fileSource)) {
while (true) {
// 3.按 utf8 的格式逐行读取字符
String line = bufferedSource.readUtf8Line();
if (line == null) break;
if (line.contains("square")) {
System.out.println(line);
}
}
}
}