下面列出了怎么用com.google.common.io.ByteProcessor的API类实例代码及写法,或者点击链接到github查看源代码。
@Test
public void test_read_processor() throws IOException {
ArrayByteSource test = ArrayByteSource.copyOf(new byte[] {1, 2, 3});
ByteProcessor<Integer> processor = new ByteProcessor<Integer>() {
@Override
public boolean processBytes(byte[] buf, int off, int len) throws IOException {
assertThat(off).isEqualTo(0);
assertThat(len).isEqualTo(3);
assertThat(buf[0]).isEqualTo((byte) 1);
assertThat(buf[1]).isEqualTo((byte) 2);
assertThat(buf[2]).isEqualTo((byte) 3);
return false;
}
@Override
public Integer getResult() {
return 123;
}
};
assertThat(test.read(processor)).isEqualTo(123);
}
@Override
public <T> T read(ByteProcessor<T> processor) throws IOException {
processor.processBytes(array, 0, array.length);
return processor.getResult();
}