Obstaja veliko več metod razreda File Input Stream, ki so prav tako zelo koristne pri pridobivanju podatkov iz datoteke; nekateri med njimi so int read(byte[] b), ta funkcija bere podatke iz vhodnega toka do dolžine b.length bajtov. Datotečni kanal dobi kanal(): Specifični predmet datotečnega kanala, povezan z vhodnim tokom datoteke, se vrne z njegovo uporabo. Finalize() se uporablja za zagotovitev, da se funkcija close() prikliče, ko ni več sklicevanja na vhodni tok datoteke.«
Primer 01: Branje enega bajta iz besedilne datoteke z uporabo metod read() in close() razreda vhodnega toka
Ta primer uporablja File Input Stream za branje enega znaka in izpis vsebine. Recimo, da imamo datoteko z imenom »file.txt« s spodaj prikazano vsebino:
Recimo, da imamo datoteko z imenom 'file.txt' z zgoraj prikazano vsebino. Poskusimo zdaj prebrati in natisniti prvi znak datoteke.
Najprej moramo uvoziti java.io. Paket File Input Stream za izdelavo vhodnega toka datoteke. Nato bomo ustvarili nov objekt File Input Stream, ki bo povezan z datoteko, določeno (file.txt) v spremenljivki “f”.
V tem primeru bomo uporabili metodo »int read()« razreda Java File Input Stream, ki se uporablja za branje enega bajta iz datoteke in njegovo shranjevanje v spremenljivko »I«. Nato »System.out.print(char(i))« prikaže znak, ki ustreza temu bajtu.
Metoda f.close() zapre datoteko in tok. Po izdelavi in zagonu prej omenjenega skripta bomo dobili naslednji izhod, saj lahko vidimo, da je natisnjena samo začetna črka besedila »L«.
Primer 02: Branje celotne vsebine besedilne datoteke z uporabo metod read() in close() razreda vhodnega toka
V tem primeru bomo brali in prikazovali vso vsebino besedilne datoteke; kot je prikazano spodaj:
Ponovno bomo uvažali java.io. Paket File Input Stream za izdelavo vhodnega toka datoteke.
Najprej bomo prebrali prvi bajt datoteke in prikazali ustrezen znak znotraj zanke while. Zanka while se bo izvajala, dokler ne bo več bajtov, to je konec besedila v datoteki. Vrstica 12 bo prebrala naslednji bajt in zanka se bo nadaljevala do zadnjega bajta datoteke.
Po prevajanju in izvajanju zgornje kode bomo dobili naslednje rezultate. Kot lahko vidimo, je celotno besedilo datoteke 'Lorep Ipsum' prikazano v terminalu.
Primer 03: Določanje števila razpoložljivih bajtov v besedilni datoteki z uporabo metode available() razreda vhodnega toka
V tem primeru bomo uporabili funkcijo »available()« vhodnega toka datoteke za določitev števila obstoječih bajtov v vhodnem toku datoteke.
Najprej smo ustvarili objekt razreda vhodnega toka datoteke z imenom 'a' z naslednjo kodo. V vrstici 5 smo uporabili metodo »available()« za določitev in prikaz skupne količine razpoložljivih bajtov v datoteki. Nato smo od vrstice 6 do vrstice 8 trikrat uporabili funkcijo »read()«. V vrstici 9 smo znova uporabili metodo »available()« za preverjanje in prikaz preostalih bajtov.
Po prevajanju in zagonu kode lahko vidimo, da prva vrstica izhoda prikazuje skupno število razpoložljivih bajtov v datoteki. Naslednja vrstica prikazuje število bajtov, ki so na voljo na koncu kode, kar je 3 manj od bajtov, ki so na voljo na začetku. To je zato, ker smo v naši kodi trikrat uporabili metodo branja.
Primer 04: Preskakovanje bajtov besedilne datoteke za branje podatkov z določene točke z uporabo metode skip() razreda vhodnega toka
V tem primeru bomo uporabili metodo »skip(x)« vhodnega toka datoteke, ki se uporablja za ignoriranje in neupoštevanje danega števila bajtov podatkov iz vhodnega toka.
V spodnji kodi smo najprej ustvarili vhodni tok datoteke in ga shranili v spremenljivko 'a'. Nato smo uporabili metodo 'a.skip(5)', ki bo preskočila prvih 5 bajtov datoteke. Nato smo natisnili preostale znake datoteke z uporabo metode »read()« znotraj zanke while. Nazadnje smo zaprli vhodni tok datoteke z metodo »close()«.
Spodaj je posnetek zaslona terminala po prevajanju in izvajanju kode. Kot lahko vidimo, je prikazan samo »Ipsum«, saj smo preskočili prvih 5 bajtov z uporabo metode »skip()«.
Zaključek
V tem članku smo razpravljali o uporabi razreda File Input Stream in njegovih različnih metodah; read(), available(), skip() in close(). Te metode smo uporabili za branje prvega elementa datoteke z uporabo metod read() in close(). Nato preberemo celotno datoteko z iterativnim pristopom in uporabo istih metod. Nato smo uporabili metodo available() za določitev števila bajtov, ki so prisotni na začetku in zaključku datoteke. Po tem smo uporabili metodo skip(), da smo preskočili več bajtov, preden smo prebrali datoteko, kar nam je omogočilo, da smo dobili določene podatke, ki smo jih potrebovali.