Класс 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