Поток за въвеждане на Java файл в Ubuntu 20.04

Potok Za V Vezdane Na Java Fajl 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 Input Stream за четене на един знак и отпечатване на съдържанието. Да предположим, че имаме файл с име „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() на класа Input Stream

В този пример ще четем и показваме цялото съдържание на текстов файл; както е показано по-долу:

Още веднъж ще импортираме java.io. Пакет File Input Stream, за да се създаде входен поток на файл.

Първо, ще прочетем първия байт от файла и ще покажем съответния знак в цикъла while. Цикълът while ще работи, докато не останат байтове, тоест краят на текста във файла. Ред 12 ще прочете следващия байт и цикълът ще продължи до последния байт на файла.

След като компилираме и изпълним горния код, ще получим следните резултати. Както виждаме, целият текст на файла „Lorep Ipsum“ се показва в терминала.

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

В този пример ще използваме функцията „available()“ на File Input Stream, за да определим броя на съществуващите байтове във входния файл.

Първо, генерирахме обект от клас на входен поток на файл, наречен „a“ със следния код. В ред 5 използвахме метода „available()“, за да определим и покажем общото количество налични байтове във файла. След това от ред 6 до ред 8 използвахме функцията „read()“ три пъти. Сега в ред 9 отново използвахме метода „available()“, за да проверим и покажем оставащите байтове.

След компилиране и стартиране на кода, можем да видим, че първият ред на изхода показва общия брой налични байтове във файла. Следващият ред показва броя на наличните байтове в края на кода, който е с 3 по-малко от наличните байтове в началото. Това е така, защото използвахме метода read три пъти в нашия код.

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

В този пример ще използваме метода „skip(x)“ на File Input Stream, който се използва за игнориране и незачитане на дадения брой байтове данни от входния поток.

В кода по-долу, първо, създадохме входен поток на файл и го съхранихме в променливата „a“. След това използвахме метода „a.skip(5)“, който ще пропусне първите 5 байта от файла. След това отпечатахме останалите знаци от файла с помощта на метода „read()“ в цикъла while. Накрая затворихме входния поток на файла чрез метода “close()”.

По-долу е екранната снимка на терминала след компилиране и изпълнение на кода. Както виждаме, показва се само „Ipsum“, тъй като сме пропуснали първите 5 байта с помощта на метода „skip()“.

Заключение

В тази статия обсъдихме употребите на класа File Input Stream и неговите различни методи; read(), available(), skip() и close(). Използвахме тези методи, за да прочетем първия елемент на файл, като използвахме методите read() и close(). След това четем целия файл чрез итеративния подход и използвайки същите методи. След това използвахме метода available(), за да определим броя на байтовете, налични в началото и завършването на файла. След това използвахме метода skip(), за да пропуснем няколко байта, преди да прочетем файла, което ни позволи да получим конкретните данни, от които се нуждаехме.