Как работает Java InputStream

Kak Rabotaet Java Inputstream



Java позволяет разработчикам работать с файлами. В таком случае « Входной поток », который помогает читать указанное содержимое файла вместе с анализом содержащихся в нем байтов. Это приводит к решению проблем с памятью, а также к эффективному возврату выборочного содержимого файла в соответствии с требованиями.

В этой статье будет подробно рассказано о работе «InputStream» в Java.







Как работает Java InputStream?

Класс «InputStream» для « java.io » соответствует абстрактному суперклассу, который возвращает входной поток, состоящий из байтов для указанного файла.



Подклассы InputStream

Чтобы применить функциональные возможности «InputStream», можно использовать следующие его подклассы:



    • FileInputStream
    • ObjectInputStream
    • ByteArrayInputStream

Это так, что эти подклассы расширяют класс «InputStream».





Методы InputStream

Класс «InputStream» содержит различные методы, применяемые его подклассами. Ниже приведены некоторые из наиболее часто используемых методов:

Методы Функциональность
читать() Он считывает байт данных из входного потока.



читать (байт [] массив) Он также считывает байты из потока и сохраняет их в целевом массиве.

пропускать() Этот метод пропускает/опускает определенное количество байтов из входного потока.

доступный() Он дает содержащиеся байты во входном потоке.
перезагрузить() Он дает доступ к точке потока, где была установлена ​​метка.

отметка() Этот метод отмечает позицию в потоке, до которой были прочитаны данные.

отметкаПоддерживается() Он анализирует, поддерживаются ли/совместимы ли методы «mark()» и «reset()» в потоке.


Прежде чем перейти к примеру, импортируйте следующие пакеты для работы с «InputStream» и его подклассом:

импортировать java.io.FileInputStream;
импортировать java.io.InputStream;


Пример: Работа InputStream в Java

Этот пример иллюстрирует работу «InputStream» путем чтения содержимого файла с помощью методов «InputStream»:

входной поток открытого класса {
публичная статическая пустота главная ( Строковые аргументы [ ] ) {
байт [ ] данныймассив = новый байт [ пятьдесят ] ;
пытаться {
InputStream readData = новый FileInputStream ( 'прочитать файл.txt' ) ;
System.out.println ( 'Байт в файле ->' + readData.доступно ( ) ) ;
readData.read ( данныймассив ) ;
System.out.println ( «Читать данные файла:» ) ;
Строка содержит данные = новая строка ( данныймассив ) ;
System.out.println ( содержат данные ) ;
readData.close ( ) ;
}
ловить ( Исключение кроме ) {
кроме.getStackTrace ( ) ;
}
} }


В соответствии с приведенными выше строками кода выполните следующие шаги:

    • Во-первых, создайте массив «byte», который может содержать максимум « пятьдесят байтовые значения в прочитанном файле.
    • На следующем шаге создайте « Входной поток », используя «FileInputStream», и вернуть доступные байты в указанном файле через связанный « доступный() метод.
    • После этого прочитайте байты из входного потока с помощью « читать() метод.
    • Теперь преобразуйте массив байтов в строку и отобразите содержимое файла.
    • Наконец, закройте прочитанный файл, используя связанный « закрывать() метод.

Выход


В этом результате можно предположить, что количество байтов в файле, т. е. накопленное пространство контентом, возвращается в соответствии с максимальным диапазоном в массиве байтов, т. е. «50». Кроме того, содержимое файла возвращается соответствующим образом.

Содержимое файла


Чтобы получить представление о « пропускать() ' и ' перезагрузить() ”, рассмотрите следующую демонстрацию:


На этом рисунке метод «skip()» пропускает указанное количество байтов, т. е. « 5 -> Ява ” из содержимого файла с самого начала. Однако метод «reset()» сбрасывает поток.

Заключение

Входной поток ” класс “ java.io «package» — это абстрактный суперкласс, соответствующий входному потоку байтов, используемому для чтения данных файла. Этот класс включает в себя различные методы, которые помогают эффективно читать методологии чтения файла в соответствии с требованиями. Этот блог продемонстрировал назначение и работу «InputStream» в Java.