Java-tiedoston syöttövirta Ubuntu 20.04:ssä

Java Tiedoston Syottovirta Ubuntu 20 04 Ssa



'Tässä artikkelissa keskustelemme erilaisista tavoista lukea dataa tiedostoista tavutaulukkoon Java Input Stream -luokan avulla. Tämä luokka edustaa lajiteltua tavuvirtaa tiedostosta. Java Input Stream -luokassa on useita toimintoja, joita käytetään yleisesti ja joista keskustellaan tässä artikkelissa, kuten menetelmät read(), available(), skip() ja close(). Näitä menetelmiä käytetään eri tiedostopäätteiden, kuten bin- tai txt-tiedostojen, lukemiseen, ja niitä voidaan muuttaa saadakseen tietoa mistä tahansa kohdasta tiedostoa. Toteutamme nämä menetelmät Ubuntu 20.04 -ympäristössä tässä artikkelissa.

File Input Stream -luokassa on monia muita menetelmiä, jotka ovat myös erittäin hyödyllisiä tietojen saamisessa tiedostosta; jotkin niistä ovat int read(byte[] b), tämä toiminto lukee dataa syöttövirrasta b.length tavuun asti. Tiedostokanava saa kanavan(): Tiedoston syöttövirtaan yhdistetty tiedostokanava-objekti palautetaan käyttämällä sitä. Finalize()-komennolla varmistetaan, että close()-funktiota kutsutaan, kun tiedoston syöttövirtaan ei enää viitata.'

Esimerkki 01: Yhden tavun lukeminen tekstitiedostosta syötevirtaluokan read()- ja close()-menetelmillä

Tässä esimerkissä käytetään File Input Streamia yksittäisen merkin lukemiseen ja sisällön tulostamiseen. Oletetaan, että meillä on tiedosto nimeltä 'file.txt', jonka sisältö on alla:









Oletetaan, että meillä on tiedosto nimeltä 'file.txt', jonka sisältö on yllä kuvattu. Yritetään nyt lukea ja tulostaa tiedoston ensimmäinen merkki.







Meidän on ensin tuotava java.io. File Input Stream -paketti tiedoston syöttövirran muodostamiseksi. Sitten luomme uuden File Input Stream -objektin, joka linkitetään muuttujassa 'f' määritettyyn tiedostoon (file.txt).

Tässä esimerkissä käytämme Java File Input Stream -luokan 'int read()' -menetelmää, jolla luetaan yksi tavu tiedostosta ja tallennetaan muuttujaan 'I'. Seuraavaksi 'System.out.print(char(i))' näyttää tätä tavua vastaavan merkin.



f.close()-menetelmä sulkee tiedoston ja streamin.Saamme seuraavan tulosteen, kun edellä mainittu komentosarja on rakennettu ja suoritettu, koska näemme, että tekstistä 'L' tulostetaan vain alkukirjain.

Esimerkki 02: Tekstitiedoston kaiken sisällön lukeminen syötevirtaluokan read()- ja close()-menetelmillä

Tässä esimerkissä luemme ja näytämme tekstitiedoston kaiken sisällön; kuten alla:

Tuomme jälleen kerran java.io:n. File Input Stream -paketti tiedoston syöttövirran muodostamiseksi.

Ensin luemme tiedoston ensimmäisen tavun ja näytämme vastaavan merkin while-silmukan sisällä. While-silmukka jatkuu, kunnes tavuja ei ole jäljellä, eli tiedoston tekstin loppuun. Rivi 12 lukee seuraavan tavun ja silmukka jatkuu tiedoston viimeiseen tavuun asti.

Yllä olevan koodin kääntämisen ja suorittamisen jälkeen saamme seuraavat tulokset. Kuten näemme, koko tiedoston ”Lorep Ipsum” teksti näkyy terminaalissa.

Esimerkki 03: Käytettävissä olevien tavujen määrän määrittäminen tekstitiedostossa käyttämällä syöttövirtaluokan available()-menetelmää

Tässä esimerkissä käytämme File Input Stream -toimintoa 'available()' määrittääksemme olemassa olevien tavujen määrän tiedoston syöttövirrassa.

Ensin loimme tiedoston syötevirtaluokan objektin nimeltä 'a' seuraavalla koodilla. Rivillä 5 käytimme 'available()' -menetelmää määrittääksemme ja näyttääksemme tiedoston käytettävissä olevien tavujen kokonaismäärän. Sitten riviltä 6 riville 8 käytimme 'read()' -funktiota kolmesti. Nyt rivillä 9 käytimme uudelleen 'available()' -menetelmää jäljellä olevien tavujen tarkistamiseen ja näyttämiseen.

Koodin kääntämisen ja suorittamisen jälkeen voimme nähdä tulosteen ensimmäisellä rivillä tiedoston käytettävissä olevien tavujen kokonaismäärän. Seuraavalla rivillä näkyy koodin lopussa käytettävissä olevien tavujen määrä, joka on 3 vähemmän kuin alussa käytettävissä olevat tavut. Tämä johtuu siitä, että käytimme lukumenetelmää kolmesti koodissamme.

Esimerkki 04: Tekstitiedoston tavujen ohittaminen datan lukemiseksi tietystä pisteestä käyttämällä syötevirtaluokan skip()-menetelmää

Tässä esimerkissä käytämme File Input Streamin 'skip(x)' -menetelmää, jota käytetään huomioimatta syötevirran tietyn tavumäärän dataa.

Alla olevassa koodissa olemme ensin luoneet tiedoston syöttövirran ja tallentaneet sen muuttujaan 'a'. Seuraavaksi olemme käyttäneet 'a.skip(5)' -menetelmää, joka ohittaa tiedoston ensimmäiset 5 tavua. Seuraavaksi tulostimme tiedoston loput merkit 'read()'-menetelmällä while-silmukan sisään. Lopuksi suljemme tiedoston syöttövirran 'close()' -menetelmällä.

Alla on kuvakaappaus päätteestä koodin kääntämisen ja suorittamisen jälkeen. Kuten näemme, vain 'Ipsum' näytetään, koska olemme ohittaneet ensimmäiset 5 tavua 'skip()'-menetelmällä.

Johtopäätös

Tässä artikkelissa olemme keskustelleet File Input Stream -luokan käyttötavoista ja sen erilaisista menetelmistä; read(), available(), skip() ja close(). Luimme näitä menetelmiä tiedoston ensimmäisen elementin lukemiseen käyttämällä read()- ja close()-menetelmiä. Sitten luemme koko tiedoston iteratiivisen lähestymistavan kautta ja samoilla menetelmillä. Sitten käytimme available()-menetelmää määrittääksemme tiedoston alussa ja valmistuessa olevien tavujen määrän. Sen jälkeen käytimme skip()-menetelmää ohittamaan useita tavuja ennen tiedoston lukemista, mikä antoi meille mahdollisuuden saada tarvitsemamme tiedot.