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();
}
上一页