コード例 #1
0
ファイル: OkioTest.java プロジェクト: happysir/okio
  @Test
  public void readWriteFile() throws Exception {
    File file = temporaryFolder.newFile();

    BufferedSink sink = Okio.buffer(Okio.sink(file));
    sink.writeUtf8("Hello, java.io file!");
    sink.close();
    assertTrue(file.exists());
    assertEquals(20, file.length());

    BufferedSource source = Okio.buffer(Okio.source(file));
    assertEquals("Hello, java.io file!", source.readUtf8());
    source.close();
  }
コード例 #2
0
ファイル: OkioTest.java プロジェクト: happysir/okio
  @Test
  public void readWritePath() throws Exception {
    Path path = temporaryFolder.newFile().toPath();

    BufferedSink sink = Okio.buffer(Okio.sink(path));
    sink.writeUtf8("Hello, java.nio file!");
    sink.close();
    assertTrue(Files.exists(path));
    assertEquals(21, Files.size(path));

    BufferedSource source = Okio.buffer(Okio.source(path));
    assertEquals("Hello, java.nio file!", source.readUtf8());
    source.close();
  }
コード例 #3
0
ファイル: GzipSink.java プロジェクト: dyglcc/mmwd
  public GzipSink(Sink sink) {
    if (sink == null) throw new IllegalArgumentException("sink == null");
    this.deflater = new Deflater(DEFAULT_COMPRESSION, true /* No wrap */);
    this.sink = Okio.buffer(sink);
    this.deflaterSink = new DeflaterSink(this.sink, deflater);

    writeHeader();
  }
コード例 #4
0
  @Test
  public void writeAllExhausted() throws IOException {
    MockSink mockSink = new MockSink();
    BufferedSink bufferedSink = Okio.buffer(mockSink);

    assertEquals(0, bufferedSink.writeAll(new Buffer()));
    assertEquals(0, bufferedSink.buffer().size());
    mockSink.assertLog(); // No writes.
  }
コード例 #5
0
ファイル: OkioTest.java プロジェクト: happysir/okio
 @Test
 public void sourceFromInputStreamBounds() throws Exception {
   Source source = Okio.source(new ByteArrayInputStream(new byte[100]));
   try {
     source.read(new Buffer(), -1);
     fail();
   } catch (IllegalArgumentException expected) {
   }
 }
コード例 #6
0
ファイル: GzipSource.java プロジェクト: gdkjrygh/CompSecurity
 public GzipSource(Source source1) {
   section = 0;
   if (source1 == null) {
     throw new IllegalArgumentException("source == null");
   } else {
     inflater = new Inflater(true);
     source = Okio.buffer(source1);
     inflaterSource = new InflaterSource(source, inflater);
     return;
   }
 }
コード例 #7
0
  @Test
  public void writeAll() throws IOException {
    MockSink mockSink = new MockSink();
    BufferedSink bufferedSink = Okio.buffer(mockSink);

    bufferedSink.buffer().writeUtf8("abc");
    assertEquals(3, bufferedSink.writeAll(new Buffer().writeUtf8("def")));

    assertEquals(6, bufferedSink.buffer().size());
    assertEquals("abcdef", bufferedSink.buffer().readUtf8(6));
    mockSink.assertLog(); // No writes.
  }
コード例 #8
0
ファイル: OkioTest.java プロジェクト: happysir/okio
  @Test
  public void sinkFromOutputStream() throws Exception {
    Buffer data = new Buffer();
    data.writeUtf8("a");
    data.writeUtf8(repeat('b', 9998));
    data.writeUtf8("c");

    ByteArrayOutputStream out = new ByteArrayOutputStream();
    Sink sink = Okio.sink(out);
    sink.write(data, 3);
    assertEquals("abb", out.toString("UTF-8"));
    sink.write(data, data.size());
    assertEquals("a" + repeat('b', 9998) + "c", out.toString("UTF-8"));
  }
コード例 #9
0
  @Test
  public void writeAllWritesOneSegmentAtATime() throws IOException {
    Buffer write1 = new Buffer().writeUtf8(TestUtil.repeat('a', Segment.SIZE));
    Buffer write2 = new Buffer().writeUtf8(TestUtil.repeat('b', Segment.SIZE));
    Buffer write3 = new Buffer().writeUtf8(TestUtil.repeat('c', Segment.SIZE));

    Buffer source =
        new Buffer()
            .writeUtf8(
                ""
                    + TestUtil.repeat('a', Segment.SIZE)
                    + TestUtil.repeat('b', Segment.SIZE)
                    + TestUtil.repeat('c', Segment.SIZE));

    MockSink mockSink = new MockSink();
    BufferedSink bufferedSink = Okio.buffer(mockSink);
    assertEquals(Segment.SIZE * 3, bufferedSink.writeAll(source));

    mockSink.assertLog(
        "write(" + write1 + ", " + write1.size() + ")",
        "write(" + write2 + ", " + write2.size() + ")",
        "write(" + write3 + ", " + write3.size() + ")");
  }
コード例 #10
0
ファイル: OkioTest.java プロジェクト: happysir/okio
  @Test
  public void sourceFromInputStream() throws Exception {
    InputStream in =
        new ByteArrayInputStream(("a" + repeat('b', Segment.SIZE * 2) + "c").getBytes(UTF_8));

    // Source: ab...bc
    Source source = Okio.source(in);
    Buffer sink = new Buffer();

    // Source: b...bc. Sink: abb.
    assertEquals(3, source.read(sink, 3));
    assertEquals("abb", sink.readUtf8(3));

    // Source: b...bc. Sink: b...b.
    assertEquals(Segment.SIZE, source.read(sink, 20000));
    assertEquals(repeat('b', Segment.SIZE), sink.readUtf8(sink.size()));

    // Source: b...bc. Sink: b...bc.
    assertEquals(Segment.SIZE - 1, source.read(sink, 20000));
    assertEquals(repeat('b', Segment.SIZE - 2) + "c", sink.readUtf8(sink.size()));

    // Source and sink are empty.
    assertEquals(-1, source.read(sink, 1));
  }
コード例 #11
0
ファイル: DeflaterSink.java プロジェクト: sheytoon/Salam
 public DeflaterSink(Sink sink, Deflater deflater) {
   this(Okio.buffer(sink), deflater);
 }