java tutorial - Класс ByteArrayInputStream: конструкторы и методы - учебник java - java programming - учиться java - java basics - java for beginners
Класс ByteArrayInputStream позволяет использовать буфер в памяти как InputStream. Входным источником является массив байтов.
Конструкторы
№ | Конструктор и описание |
1 | ByteArrayInputStream(byte [] a) Конструктор принимает байтовый массив как параметр. |
2 | ByteArrayInputStream(byte [] a, int off, int len) Конструктор принимает массив байтов и два целочисленных значения, где off – первый байт для чтения, а len – количество байтов, которые нужно cчитать. |
Класс ByteArrayInputStream предоставляет следующие конструкторы.
Методы
Если используйте объект ByteArrayInputStream, то у Вас есть под рукой вспомогательные методы, которые можно использовать для чтения потока или для выполнения других операций над потоком.
№ | Метод и описание |
1 | public int read() Метод считывает следующий байт данных из InputStream. Возвращает int как байт данных. Если это конец файла, он возвращает -1. |
2 | public int read(byte[] r, int off, int len) Метод считывает до len количество байт, начиная с off входного потока в массива. Возвращает общее количество прочитанных байтов. Если это конец файла, будет возвращен -1. |
3 | public int available() Получение количества байтов, которые могут быть прочитаны из этого потока ввода файла. Возвращает int, который получает количество прочитанных байтов. |
4 | public void mark(int read) Устанавливает текущую отмеченную позицию в потоке. Параметр возвращает максимальный предел байтов, который может быть прочитан до того, как помеченная позиция станет недействительной. |
5 | public long skip(long n) Пропускает 'n' количество байтов из потока. Возвращает фактическое количество пропущенных байтов. |
Пример
- Ниже приведен пример демонстрации классов ByteArrayInputStream и ByteArrayOutputStream.
import java.io.*;
public class TestByteStream {
public static void main(String args[])throws IOException {
ByteArrayOutputStream outputByte = new ByteArrayOutputStream(12);
while(outputByte.size()!= 5) {
outputByte.write("hello".getBytes());
}
byte a [] = outputByte.toByteArray();
System.out.println("Вывод содержимого:");
for(int i = 0 ; i < a.length; i++) {
// Вывод символов
System.out.print((char)a[i] + " ");
}
System.out.println();
int b;
ByteArrayInputStream inputByte = new ByteArrayInputStream(a);
System.out.println("Преобразование символов в верхний регистр:" );
for(int j = 0 ; j < 1; j++) {
while(( b = inputByte.read())!= -1) {
System.out.println(Character.toUpperCase((char)b));
}
inputByte.reset();
}
}
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - командаПолучим следующий результат:
Вывод содержимого:
h e l l o
Преобразование символов в верхний регистр:
H
E
L
L
O