Поток ввода файлов Java в Ubuntu 20.04

Potok Vvoda Fajlov Java V Ubuntu 20 04



«В этой статье мы обсудим различные способы чтения данных из файлов в массив байтов с помощью класса Java Input Stream. Этот класс представляет отсортированный поток байтов из файла. В классе Java Input Stream есть несколько широко используемых функций, которые будут обсуждаться в этой статье, например, методы read(), available(), skip() и close(). Эти методы используются для чтения файлов с различными расширениями, таких как файлы bin или txt, и могут быть изменены для получения информации из любой точки файла. В этой статье мы реализуем эти методы в среде Ubuntu 20.04.

Есть много других методов класса File Input Stream, которые также очень полезны при получении данных из файла; некоторые из них имеют тип int read(byte[] b), эта функция считывает данные из входного потока длиной до b.length байт. Файловый канал получает канал(): с его помощью возвращается конкретный объект файлового канала, подключенный к входному потоку файла. Finalize() используется для обеспечения того, чтобы функция close() вызывалась, когда больше нет ссылки на входной поток файла».

Пример 01. Чтение одного байта из текстового файла с использованием методов read() и close() класса входного потока

В этом примере поток ввода файлов используется для чтения одного символа и вывода содержимого. Предположим, у нас есть файл с именем «file.txt» с содержимым, показанным ниже:









Предположим, у нас есть файл с именем «file.txt» с показанным выше содержимым. Давайте теперь попробуем прочитать и напечатать первый символ файла.







Мы должны сначала импортировать java.io. Пакет File Input Stream для создания потока ввода файла. Затем мы создадим новый объект File Input Stream, который будет связан с указанным файлом (file.txt) в переменной «f».

В этом примере мы будем использовать метод «int read()» класса Java File Input Stream, который используется для чтения одного байта из файла и сохранения его в переменной «I». Затем «System.out.print(char(i))» отображает символ, соответствующий этому байту.



Метод f.close() закрывает файл и поток. Мы получим следующий вывод после создания и запуска вышеупомянутого скрипта, поскольку мы видим, что печатается только начальная буква текста «L».

Пример 02: Чтение всего содержимого текстового файла с использованием методов read() и close() класса входного потока

В этом примере мы будем читать и отображать все содержимое текстового файла; как показано ниже:

И снова мы будем импортировать java.io. Пакет File Input Stream для создания потока ввода файлов.

Сначала мы прочитаем первый байт файла и отобразим соответствующий символ внутри цикла while. Цикл while будет выполняться до тех пор, пока не останется байтов, то есть до конца текста в файле. Строка 12 будет читать следующий байт, и цикл будет продолжаться до последнего байта файла.

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

Пример 03: Определение количества доступных байтов в текстовом файле с использованием метода available() класса входного потока

В этом примере мы будем использовать функцию «доступный ()» потока ввода файла, чтобы определить количество существующих байтов в потоке ввода файла.

Сначала мы сгенерировали объект класса входного потока файлов с именем «a» со следующим кодом. В строке 5 мы использовали метод «доступный ()», чтобы определить и отобразить общее количество доступных байтов в файле. Затем, начиная со строки 6 и заканчивая строкой 8, мы трижды использовали функцию «read()». Теперь в строке 9 мы снова использовали метод «доступный ()», чтобы проверить и отобразить оставшиеся байты.

После компиляции и запуска кода мы видим, что первая строка вывода показывает общее количество доступных байтов в файле. Следующая строка показывает количество байтов, доступных в конце кода, что на 3 меньше, чем байтов, доступных в начале. Это потому, что мы трижды использовали метод чтения в нашем коде.

Пример 04: Пропуск байтов текстового файла для чтения данных из определенной точки с использованием метода skip() класса входного потока

В этом примере мы будем использовать метод «пропустить (x)» потока ввода файлов, который используется для игнорирования и игнорирования заданного количества байтов данных из потока ввода.

В приведенном ниже коде сначала мы создали входной поток файла и сохранили его в переменной «a». Затем мы использовали метод «a.skip(5)», который пропускает первые 5 байтов файла. Затем мы напечатали оставшиеся символы файла, используя метод «read()» внутри цикла while. Наконец, мы закрыли входной поток файла методом close().

Ниже скриншот терминала после компиляции и запуска кода. Как мы видим, отображается только «Ipsum», так как мы пропустили первые 5 байтов с помощью метода «skip()».

Вывод

В этой статье мы обсудили использование класса File Input Stream и его различных методов; read(), available(), skip() и close(). Мы использовали эти методы для чтения первого элемента файла с помощью методов read() и close(). Затем мы читаем весь файл с помощью итеративного подхода и с использованием тех же методов. Затем мы использовали метод available() для определения количества байтов в начале и в конце файла. После этого мы использовали метод skip() для пропуска нескольких байтов перед чтением файла, что позволило нам получить именно те данные, которые нам были нужны.