2016-08-02 4 views
0

Как новый пользователь xz-javadoc, я пытаюсь использовать XZInputStream для чтения распакованных байтов , Таким образом, я читаю xz-javadoc (http://tukaani.org/xz/xz-javadoc/org/tukaani/xz/XZInputStream.html).xz-javadoc> В чем смысл «Обернуть его в BufferedInputStream, если вам нужно прочитать много данных по одному байту за один раз»

На странице дока, есть следующий текст в описании метода read():

Чтение большого количества данных с чтением() из этого входного потока может быть неэффективными. Оберните его в BufferedInputStream, если вам нужно прочитать много данных по одному байту за раз.

В чем смысл этого? переносить этот поток ввода в BufferedInputStream?

ответ

1

В чем смысл этого? переносить этот поток ввода в BufferedInputStream?

это означает следующее:

InputStream is = new BufferedInputStream(new XZInputStream(file)); 
int by; 
while ((by = is.read()) != -1) 
{ 
    // do stuff with "by" 
} 
is.close(); 

Таким образом, хотя вы читаете побайтно, ваш входной буфер. Существует также более длинное объяснение here.

+0

Я попытался с этим стилем, как рекомендовано, но скорость даже замедлилась :) действительно не знаю почему – Rui

+0

Мне тоже, извините. –