Okio
Okio
Okio 是 java.io 和 java.nio 的补充,使用它更容易访问、存储和处理数据。
Okio 中有几个常用的概念:
- ByteString:不可变的字节序列,类似 String 类,使用它更容易处理二进制数据。
- Buffer:可变的字节序列,类似 ArrayList。
- Source:类似 InputStream(输入流)
- Sink:类似 OutputStream(输出流)
Source
Source 相当于输入流(InputStream)。把硬盘中的数据输入到内存中。
try {
File file = new File("test.txt");
BufferedSource source = Okio.buffer(Okio.source(file));
//byte[] data = source.readByteArray();
//System.out.println(new String(data, Charset.forName("UTF-8")));
BufferedSink sink = Okio.buffer(Okio.sink(new File("test2.txt")));
source.readAll(sink);
sink.close();
source.close();
} catch (IOException e) {
e.printStackTrace();
}
Sink
try {
File file = new File("test.txt"); //如果文件不存在,则自动创建
BufferedSink sink = Okio.buffer(Okio.sink(file));
sink.writeUtf8("Hello, World");
sink.writeString("测试信息", Charset.forName("UTF-8"));
sink.close();
} catch (IOException e) {
e.printStackTrace();
}