4Java.ru

Регистрация


Учебник для начинающих
Обзор языка
Установка и настройка
Синтаксис
Классы и объекты
Типы данных и литералы
Типы переменных
Модификаторы
Операторы
Циклы и операторы цикла
Цикл while
Цикл for
Улучшенный цикл for
Цикл do..while
Оператор break
Оператор continue
Операторы принятия решений
Оператор if
Оператор if..else
Вложенный оператор if
Оператор switch..case
Условный оператор (? :)
Числа
Методы byteValue(), shortValue(), intValue(), longValue(), floatValue(), doubleValue()
Метод compareTo()
Метод equals()
Метод valueOf()
Метод toString()
Метод parseInt()
Метод Math.abs()
Метод Math.ceil()
Метод Math.floor()
Метод Math.rint()
Метод Math.round()
Метод Math.min()
Метод Math.max()
Метод Math.exp()
Метод Math.log()
Метод Math.pow()
Метод Math.sqrt()
Метод Math.sin()
Метод Math.cos()
Метод Math.tan()
Метод Math.asin()
Метод Math.acos()
Метод Math.atan()
Метод Math.atan2()
Метод Math.toDegrees()
Метод Math.toRadians()
Метод Math.random()
Символы
Метод Character.isLetter()
Метод Character.isDigit()
Метод Character.isWhitespace()
Метод Character.isUpperCase()
Метод Character.isLowerCase()
Метод Character.toUpperCase()
Метод Character.toLowerCase()
Метод Character.toString()
Строки
Метод charAt()
Метод compareTo()
Метод compareToIgnoreCase()
Метод concat()
Метод contentEquals()
Метод copyValueOf()
Метод endsWith()
Метод equals()
Метод equalsIgnoreCase()
Метод getBytes()
Метод getChars()
Метод hashCode()
Метод indexOf()
Метод intern()
Метод lastIndexOf()
Метод length()
Метод matches()
Метод regionMatches()
Метод replace()
Метод replaceAll()
Метод replaceFirst()
Метод split()
Метод startsWith()
Метод subSequence()
Метод substring()
Метод toCharArray()
Метод toLowerCase()
Метод toString()
Метод toUpperCase()
Метод trim()
Метод valueOf()
Классы StringBuilder и StringBuffer
Метод append()
Метод reverse()
Метод delete()
Метод insert()
Метод replace()
Массивы
Дата и время
Регулярные выражения
Методы
Потоки ввода/вывода, файлы и каталоги
Класс ByteArrayInputStream
Класс DataInputStream
Класс ByteArrayOutputStream
Класс DataOutputStream
Класс File
Класс FileReader
Класс FileWriter
Исключения
Встроенные исключения
Вложенные и внутренние классы
Наследование
Переопределение
Полиморфизм
Абстракция
Инкапсуляция
Интерфейсы
Пакеты
Структуры данных
Интерфейс Enumeration
Класс BitSet
Класс Vector
Класс Stack
Класс Dictionary
Класс Hashtable
Класс Properties
Интерфейс Map

Класс ByteArrayInputStream

Класс ByteArrayInputStream позволяет использовать буфер в памяти как InputStream. Входным источником является массив байтов.

Конструкторы

Класс ByteArrayInputStream предоставляет следующие конструкторы.

Конструктор и описание
1ByteArrayInputStream(byte [] a)
Конструктор принимает байтовый массив как параметр.
2ByteArrayInputStream(byte [] a, int off, int len)
Конструктор принимает массив байтов и два целочисленных значения, где off – первый байт для чтения, а len – количество байтов, которые нужно cчитать.

Методы

Если используйте объект ByteArrayInputStream, то у Вас есть под рукой вспомогательные методы, которые можно использовать для чтения потока или для выполнения других операций над потоком.

Метод и описание
1public int read()
Метод считывает следующий байт данных из InputStream. Возвращает int как байт данных. Если это конец файла, он возвращает -1.
2public int read(byte[] r, int off, int len)
Метод считывает до len количество байт, начиная с off входного потока в массива. Возвращает общее количество прочитанных байтов. Если это конец файла, будет возвращен -1.
3public int available()
Получение количества байтов, которые могут быть прочитаны из этого потока ввода файла. Возвращает int, который получает количество прочитанных байтов.
4public void mark(int read)
Устанавливает текущую отмеченную позицию в потоке. Параметр возвращает максимальный предел байтов, который может быть прочитан до того, как помеченная позиция станет недействительной.
5public 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(); 
      }
   }
}

Получим следующий результат:

Вывод содержимого:
h e l l o 
Преобразование символов в верхний регистр:
H
E
L
L
O

© 4Java.ru