Java File Input Stream sa Ubuntu 20.04

Java File Input Stream Sa Ubuntu 20 04



'Sa artikulong ito, tatalakayin natin ang iba't ibang paraan upang basahin ang data mula sa mga file patungo sa isang byte array sa pamamagitan ng paggamit ng klase ng Java Input Stream. Ang klase na ito ay kumakatawan sa isang pinagsunod-sunod na stream ng mga byte mula sa isang file. Mayroong maraming mga function sa klase ng Java Input Stream na karaniwang ginagamit at tatalakayin sa artikulong ito, tulad ng read(), available(), skip(), at close() na mga pamamaraan. Ang mga paraang ito ay ginagamit upang basahin ang mga file ng iba't ibang mga extension tulad ng bin o txt file at maaaring baguhin upang makakuha ng impormasyon mula sa anumang punto sa file. Ipapatupad namin ang mga pamamaraang ito sa kapaligiran ng Ubuntu 20.04 sa artikulong ito.

Marami pang paraan ng klase ng File Input Stream na lubhang nakakatulong sa pagkuha ng data mula sa isang file; ang ilan sa mga ito ay int read(byte[] b), binabasa ng function na ito ang data mula sa input stream hanggang sa b.length bytes ang haba. Nakukuha ng File Channel ang channel(): Ang partikular na bagay na File Channel na konektado sa stream ng input ng file ay ibinalik gamit ito. Finalize() ay ginagamit upang matiyak na ang close() function ay ginagamit kapag wala nang reference sa file input stream.

Halimbawa 01: Pagbasa ng Isang Byte Mula sa Text File Gamit ang read() at close() na Mga Paraan ng Input Stream Class

Ang halimbawang ito ay gumagamit ng File Input Stream upang basahin ang isang character at i-print ang nilalaman. Ipagpalagay na mayroon kaming isang file na pinangalanang 'file.txt' na may nilalaman na ipinapakita sa ibaba:









Ipagpalagay na mayroon kaming isang file na pinangalanang 'file.txt' na may nilalaman na ipinapakita sa itaas. Subukan nating basahin at i-print ang unang character ng file.







Kailangan muna nating mag-import ng java.io. File Input Stream package para makabuo ng file input stream. Pagkatapos ay gagawa kami ng bagong object ng File Input Stream na mali-link sa file na tinukoy (file.txt) sa variable na 'f'.

Sa halimbawang ito, gagamitin namin ang 'int read()' na paraan ng klase ng Java File Input Stream, na ginagamit upang basahin ang isang byte mula sa file at i-save ito sa variable na 'I'. Susunod, ipinapakita ng “System.out.print(char(i))” ang character na tumutugma sa byte na iyon.



Ang f.close() na pamamaraan ay nagsasara ng file at stream. Ating makukuha ang sumusunod na output pagkatapos buuin at patakbuhin ang nabanggit na script, dahil makikita lamang natin ang unang titik ng tekstong 'L' na naka-print.

Halimbawa 02: Pagbabasa ng Lahat ng Nilalaman ng isang Text File Gamit ang read() at close() na Mga Paraan ng Input Stream Class

Sa halimbawang ito, babasahin at ipapakita namin ang lahat ng nilalaman ng isang text file; tulad ng ipinapakita sa ibaba:

Muli, mag-i-import kami ng java.io. File Input Stream package para makabuo ng file input stream.

Una, babasahin natin ang unang byte ng file at ipapakita ang kaukulang karakter sa loob ng while loop. Ang while loop ay tatakbo hanggang sa wala nang byte na natitira, iyon ay, ang dulo ng text sa file. Babasahin ng Linya 12 ang susunod na byte, at magpapatuloy ang loop hanggang sa huling byte ng file.

Pagkatapos i-compile at i-execute ang code sa itaas, makukuha natin ang mga sumusunod na resulta. Tulad ng nakikita natin, ang buong teksto ng file na 'Lorep Ipsum' ay ipinapakita sa terminal.

Halimbawa 03: Pagtukoy sa Bilang ng Magagamit na Byte sa isang Text File sa pamamagitan ng Paggamit ng available() na Paraan ng Input Stream Class

Sa halimbawang ito, gagamitin namin ang function na 'available()' ng File Input Stream upang matukoy ang bilang ng mga umiiral nang byte sa stream ng input ng file.

Una, nakabuo kami ng object ng file input stream class na pinangalanang 'a' na may sumusunod na code. Sa linya 5, ginamit namin ang 'available()' na paraan upang matukoy at ipakita ang kabuuang halaga ng mga available na byte sa file. Pagkatapos mula sa linya 6 hanggang linya 8, ginamit namin ang function na 'read()' nang tatlong beses. Ngayon sa linya 9, ginamit namin muli ang 'available()' na paraan upang suriin at ipakita ang natitirang mga byte.

Pagkatapos i-compile at patakbuhin ang code, makikita natin ang unang linya ng output na nagpapakita ng kabuuang bilang ng mga available na byte sa file. Ipinapakita ng susunod na linya ang bilang ng mga byte na available sa dulo ng code, na mas mababa ng 3 kaysa sa mga byte na available sa simula. Ito ay dahil ginamit namin ang paraan ng pagbasa nang tatlong beses sa aming code.

Halimbawa 04: Paglaktaw ng Bytes ng isang Text File upang Magbasa ng Data Mula sa isang Tukoy na Punto Gamit ang skip() Paraan ng Input Stream Class

Sa halimbawang ito, gagamitin namin ang paraan ng 'laktawan(x)' ng File Input Stream, na ginagamit upang huwag pansinin at balewalain ang ibinigay na bilang ng mga byte ng data mula sa input stream.

Sa code sa ibaba, una, gumawa kami ng stream ng input ng file at inimbak ito sa variable na 'a'. Susunod, ginamit namin ang 'a.skip(5)' na paraan, na laktawan ang unang 5 byte ng file. Susunod, nai-print namin ang natitirang mga character ng file gamit ang 'read()' na paraan sa loob ng isang while loop. Sa wakas, isinara namin ang stream ng input ng file sa pamamagitan ng 'close()' na paraan.

Nasa ibaba ang screenshot ng terminal pagkatapos i-compile at patakbuhin ang code. Tulad ng nakikita natin, tanging 'Ipsum' ang ipinapakita habang nilaktawan natin ang unang 5 byte gamit ang pamamaraang 'laktawan()'.

Konklusyon

Sa artikulong ito, tinalakay natin ang mga gamit ng klase ng File Input Stream at ang iba't ibang pamamaraan nito; read(), available(), skip(), at close(). Ginamit namin ang mga pamamaraang ito upang basahin ang unang elemento ng isang file sa pamamagitan ng paggamit ng read() at close() na mga pamamaraan. Pagkatapos ay binabasa namin ang buong file sa pamamagitan ng umuulit na diskarte at gamit ang parehong mga pamamaraan. Pagkatapos ay ginamit namin ang available() na paraan upang matukoy ang bilang ng mga byte na naroroon sa pagsisimula at pagkumpleto ng file. Pagkatapos noon, ginamit namin ang skip() na paraan para laktawan ang ilang byte bago basahin ang file, na nagbigay-daan sa amin na makuha ang partikular na data na kailangan namin.