Помогите разобраться я использую BufferedInputStream
:
try (BufferedInputStream in = new BufferedInputStream(
new FileInputStream(path), 1024)) { // указал размер буфера 1024
// я хочу прочитать из файла сразу много байт
//иначе зачем мне был бы нужен буфер...
byte[] buffer = in. // и тут я столкнулся что все методы возвращают int
Так как же мне из BufferedInputStream
получить сам массив байт
размером 1024 ради которого я создавал эту обертку? Что я не так делаю?
Дополнение к вопросу:
Я делаю:
try (BufferedInputStream in = new BufferedInputStream(
new FileInputStream(path), 1024)) {
byte[] bytes = new byte[1024];
int data = in.read(bytes,0,1024);
while (data != -1) {
sb.append(new String(bytes, "UTF8")); //StringBuilder
data = in.read();
}
System.out.println(sb);
BufferedInputStream in = new BufferedInputStream(new FileInputStream(path), 1024)
1024 - это размер буфера как я понимаю, но и при создании массива new byte[1024]
я так-же указываю длину вроде тоже размер буфера. В чем разница?Методы возвращают количество прочитанных байт. Читать надо так
count = in.read(buffer, <с какого места заполнять массив>, <сколько байт прочиать>)
В count
будет количество прочитанных байтов. Байты попадут в массив buffer
. Если случиться конец файла, то read
вернет -1.
Размер буфера для потока указывается в конструкторе потока. По умолчанию размер буфера
private static int DEFAULT_BUFFER_SIZE = 8192;
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Кто применял фикстуры в своих тестах? И как правильно/можно их использовать? На сколько я понял, это значительно ускоряет процесс тестирования,...
Нашел только getCaretPosition(), но это немного не то
Здравствуйте, пишу приложение на javaВ качестве GUI использую JavaFX (скажу сразу, что при использование swt данной проблемы нет)