Класс Java InputStream
Класс Java InputStream
В этом руководстве мы узнаем о классе Java InputStream и его методах с помощью примера.
InputStream класс java.io package — это абстрактный суперкласс, представляющий входной поток байтов.
С InputStream это абстрактный класс, сам по себе он бесполезен. Однако его подклассы можно использовать для чтения данных.
Подклассы InputStream
Чтобы использовать функциональность InputStream , мы можем использовать его подклассы. Вот некоторые из них:
- FileInputStream
- ByteArrayInputStream
- ObjectInputStream

Мы узнаем обо всех этих подклассах в следующем уроке.
<час>Создать поток ввода
Чтобы создать InputStream, мы должны импортировать java.io.InputStream пакет первый. Как только мы импортируем пакет, вот как мы можем создать входной поток.
// Creates an InputStream
InputStream object1 = new FileInputStream();
Здесь мы создали входной поток, используя FileInputStream . Это потому, что InputStream является абстрактным классом. Следовательно, мы не можем создать объект InputStream .
Примечание :мы также можем создать входной поток из других подклассов InputStream .
Методы InputStream
InputStream класс предоставляет различные методы, которые реализуются его подклассами. Вот некоторые из часто используемых методов:
read()- считывает один байт данных из входного потокаread(byte[] array)- считывает байты из потока и сохраняет в указанном массивеavailable()- возвращает количество байтов, доступных во входном потокеmark()- отмечает позицию во входном потоке, до которой были прочитаны данныеreset()- возвращает управление в ту точку в потоке, где была установлена отметкаmarkSupported()- проверяет, соответствует лиmark()иreset()метод поддерживается в потокеskips()- пропускает и отбрасывает указанное количество байтов из входного потокаclose()- закрывает входной поток
Пример:InputStream с использованием FileInputStream
Вот как мы можем реализовать InputStream используя FileInputStream класс.
Предположим, у нас есть файл с именем input.txt. со следующим содержанием.
This is a line of text inside the file.
Попробуем прочитать этот файл с помощью FileInputStream (подкласс InputStream ).
import java.io.FileInputStream;
import java.io.InputStream;
class Main {
public static void main(String args[]) {
byte[] array = new byte[100];
try {
InputStream input = new FileInputStream("input.txt");
System.out.println("Available bytes in the file: " + input.available());
// Read byte from the input stream
input.read(array);
System.out.println("Data read from the file: ");
// Convert byte array into string
String data = new String(array);
System.out.println(data);
// Close the input stream
input.close();
} catch (Exception e) {
e.getStackTrace();
}
}
} Вывод
Available bytes in the file: 39
Data read from the file:
This is a line of text inside the file
В приведенном выше примере мы создали входной поток, используя FileInputStream учебный класс. Входной поток связан с файлом input.txt. .
InputStream input = new FileInputStream("input.txt");
Чтобы прочитать данные из input.txt файл, мы реализовали эти два метода.
input.read(array); // to read data from the input stream
input.close(); // to close the input stream
Чтобы узнать больше, посетите Java InputStream (официальная документация по Java).
java