Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

19.3. Java — Класс DataInputStream и его методы




19. 3. Java — Класс DataInputStream и его методы

DataInputStream используется в контексте DataOutputStream и может использоваться для чтения примитивных типов данных.

Ниже конструктор для создания InputStream:

InputStream in = DataInputStream(InputStream in);

Методы

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

Метод и описание
public final int read(byte[] r, int off, int len)throws IOException Чтение до len байтов данных из входного потока в массив байтов. Возвращает общее количество байтов, считанных в буфер, в противном случае -1, если это конец файла.
public final int read(byte [] b)throws IOException Считывает некоторые байты из входного потока и сохраняет в массив байтов. Возвращает общее количество байтов, считанных в буфер, в противном случае -1, если это конец файла.
(1) public final Boolean readBooolean()throws IOException (2) public final byte readByte()throws IOException (3) public final short readShort()throws IOException (4) public final Int readInt()throws IOException Эти методы будут считывать байты из содержимого InputStream. Возвращает следующие два байта InputStream в качестве конкретного примитивного типа.
public String readLine() throws IOException Считывает следующую строку текста из входного потока. Метод считывает последовательно байты, преобразуя каждый байт отдельно в символ, пока он не встретит ограничитель строки или конец файла; прочитанные символы затем возвращаются как строка.

 

Пример

Ниже приведен пример демонстрации DataInputStream и DataOutputStream. В этом примере происходит запись и чтение с указанного файла test. txt.

import java. io. *; public class TestByteStream { public static void main(String args[])throws IOException { // Запись строки в файл в кодировке UTF-8 DataOutputStream dataOutput = new DataOutputStream(new FileOutputStream(" E: \\test. txt" )); dataOutput. writeUTF(" proglang. su" ); // Чтение данных из того же файла DataInputStream dataInput = new DataInputStream(new FileInputStream(" E: \\test. txt" )); while(dataInput. available() > 0) {    String a = dataInput. readUTF();     System. out. print(a); } }}

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

proglang. su

 

19. 4. Java — Конструкторы и методы класса ByteArrayOutputStream

Поток класса ByteArrayOutputStream создает буфер в памяти, и все данные, отправленные в поток, хранятся в буфере.

Поток класса ByteArrayOutputStream создает буфер в памяти, и все данные, отправленные в поток, хранятся в буфере.

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

Ниже приведен список конструкторов, предоставляемых классом ByteArrayOutputStream.

Конструктор и описание
ByteArrayOutputStream() Конструктор создает ByteArrayOutputStream с буфером в 32 байт.
ByteArrayOutputStream(int a) Конструктор создает ByteArrayOutputStream с буфером заданного размера.

Методы

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

Метод и описание
public void reset() Метод сбрасывает количество действительных байт в выходном потоке байтового массива до нуля, поэтому все накопленное на выходе будет сброшено.
public byte[] toByteArray() Метод создает недавно выделенный массив байтов. Его размер будет текущим размером выходного потока, и содержимое буфера будет скопировано в него. Возвращает текущее содержимое выходного потока в виде байтового массива.
public String toString() Преобразует содержимое буфера в строку. Перевод будет выполняться в соответствии с кодировкой установленной по умолчанию. Возвращает строку, переведенную из содержимого буфера.
public void write(int w) Запись указанного массива в выходной поток.
public void write(byte []b, int of, int len) Запись len количества байтов, начиная смещение с of.
public void writeTo(OutputStream outSt) Запись всего содержимого потока в указанный аргумент потока.

Пример

Ниже приведен пример демонстрации ByteArrayOutputStream и ByteArrayInputStream.

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 Преобразование символов в верхний регистр: HELLO

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...