Java позволяет разработчикам работать с файлами. В таком случае « Входной поток », который помогает читать указанное содержимое файла вместе с анализом содержащихся в нем байтов. Это приводит к решению проблем с памятью, а также к эффективному возврату выборочного содержимого файла в соответствии с требованиями.
В этой статье будет подробно рассказано о работе «InputStream» в Java.
Как работает Java InputStream?
Класс «InputStream» для « java.io » соответствует абстрактному суперклассу, который возвращает входной поток, состоящий из байтов для указанного файла.
Подклассы InputStream
Чтобы применить функциональные возможности «InputStream», можно использовать следующие его подклассы:
-
- FileInputStream
- ObjectInputStream
- ByteArrayInputStream
Это так, что эти подклассы расширяют класс «InputStream».
Методы InputStream
Класс «InputStream» содержит различные методы, применяемые его подклассами. Ниже приведены некоторые из наиболее часто используемых методов:
Методы | Функциональность |
читать() | Он считывает байт данных из входного потока.
|
читать (байт [] массив) | Он также считывает байты из потока и сохраняет их в целевом массиве.
|
пропускать() | Этот метод пропускает/опускает определенное количество байтов из входного потока.
|
доступный() | Он дает содержащиеся байты во входном потоке. |
перезагрузить() | Он дает доступ к точке потока, где была установлена метка.
|
отметка() | Этот метод отмечает позицию в потоке, до которой были прочитаны данные.
|
отметкаПоддерживается() | Он анализирует, поддерживаются ли/совместимы ли методы «mark()» и «reset()» в потоке.
|
Прежде чем перейти к примеру, импортируйте следующие пакеты для работы с «InputStream» и его подклассом:
импортировать 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.