„Java“ failų įvesties srautas „Ubuntu 20.04“.

Java Failu Ivesties Srautas Ubuntu 20 04



„Šiame straipsnyje aptarsime įvairius būdus, kaip nuskaityti duomenis iš failų į baitų masyvą, naudojant Java Input Stream klasę. Ši klasė reiškia surūšiuotą baitų srautą iš failo. „Java Input Stream“ klasėje yra kelios funkcijos, kurios dažniausiai naudojamos ir bus aptariamos šiame straipsnyje, pavyzdžiui, skaitymo (), pasiekiamo (), skip () ir uždarymo () metodai. Šie metodai naudojami skirtingų plėtinių failams, pvz., bin arba txt failams, skaityti ir juos galima keisti, kad būtų gauta informacija iš bet kurios failo vietos. Šiame straipsnyje mes įdiegsime šiuos metodus Ubuntu 20.04 aplinkoje.

Yra daug daugiau Failų įvesties srauto klasės metodų, kurie taip pat labai padeda gauti duomenis iš failo; kai kurie iš jų yra int read(byte[] b), ši funkcija nuskaito duomenis iš įvesties srauto iki b.length baitų ilgio. Failų kanalas gauna kanalą (): konkretus failo kanalo objektas, prijungtas prie failo įvesties srauto, grąžinamas naudojant jį. Finalize() naudojamas siekiant užtikrinti, kad uždarymo () funkcija būtų iškviesta, kai nebėra nuorodos į failo įvesties srautą.

01 pavyzdys: Vieno baito nuskaitymas iš tekstinio failo naudojant įvesties srauto klasės read() ir close() metodus

Šiame pavyzdyje naudojamas failo įvesties srautas vienam simboliui nuskaityti ir turiniui išspausdinti. Tarkime, kad turime failą pavadinimu „file.txt“, kurio turinys parodytas toliau:









Tarkime, kad turime failą pavadinimu „file.txt“, kurio turinys parodytas aukščiau. Dabar pabandykime perskaityti ir išspausdinti pirmąjį failo simbolį.







Pirmiausia turime importuoti java.io. Failo įvesties srauto paketas, skirtas sukurti failo įvesties srautą. Tada sukursime naują failų įvesties srauto objektą, kuris bus susietas su kintamajame „f“ nurodytu failu (file.txt).

Šiame pavyzdyje mes naudosime „Java File Input Stream“ klasės metodą „int read()“, kuris naudojamas vienam baitui nuskaityti iš failo ir išsaugoti jį kintamajame „I“. Tada „System.out.print(char(i))“ rodomas simbolis, atitinkantis tą baitą.



f.close() metodas uždaro failą ir srautą. Sukūrę ir paleidę anksčiau minėtą scenarijų gausime tokią išvestį, nes matome, kad atspausdinta tik pradinė teksto raidė „L“.

02 pavyzdys: viso tekstinio failo turinio skaitymas naudojant įvesties srauto klasės read() ir close() metodus

Šiame pavyzdyje mes skaitysime ir rodysime visą tekstinio failo turinį; kaip parodyta žemiau:

Dar kartą importuosime java.io. Failo įvesties srauto paketas, skirtas sukurti failo įvesties srautą.

Pirmiausia perskaitysime pirmąjį failo baitą ir rodome atitinkamą simbolį while ciklo viduje. Ciklas while veiks tol, kol neliks baitų, ty iki teksto pabaigos faile. 12 eilutė nuskaitys kitą baitą, o ciklas tęsis iki paskutinio failo baito.

Sukūrę ir įvykdę aukščiau pateiktą kodą, gausime tokius rezultatus. Kaip matome, terminale rodomas visas failo „Lorep Ipsum“ tekstas.

03 pavyzdys: galimų baitų skaičiaus nustatymas tekstiniame faile naudojant prieinamą() įvesties srauto klasės metodą

Šiame pavyzdyje mes naudosime failo įvesties srauto funkciją „available()“, kad nustatytų esamų baitų skaičių failo įvesties sraute.

Pirma, mes sukūrėme failų įvesties srauto klasės objektą, pavadintą „a“ su tokiu kodu. 5 eilutėje naudojome metodą „available()“, kad nustatytų ir parodytume bendrą failo galimų baitų kiekį. Tada nuo 6 eilutės iki 8 eilutės tris kartus panaudojome funkciją „skaityti ()“. Dabar 9 eilutėje mes vėl panaudojome metodą „available()“, kad patikrintume ir parodytume likusius baitus.

Sukompiliavus ir paleidus kodą, matome, kad pirmoje išvesties eilutėje rodomas bendras faile esančių baitų skaičius. Kitoje eilutėje rodomas galimų baitų skaičius kodo pabaigoje, kuris yra 3 mažiau nei pradžioje. Taip yra todėl, kad savo kode tris kartus naudojome skaitymo metodą.

04 pavyzdys: teksto failo baitų praleidimas norint nuskaityti duomenis iš konkretaus taško, naudojant įvesties srauto klasės skip() metodą

Šiame pavyzdyje mes naudosime failo įvesties srauto metodą „skip(x)“, kuris naudojamas ignoruoti ir nepaisyti nurodyto duomenų baitų skaičiaus iš įvesties srauto.

Žemiau esančiame kode pirmiausia sukūrėme failo įvesties srautą ir išsaugojome jį kintamajame „a“. Tada mes panaudojome „a.skip(5)“ metodą, kuris praleis pirmuosius 5 failo baitus. Tada išspausdinome likusius failo simbolius naudodami „read ()“ metodą, o ciklo viduje. Galiausiai uždarėme failo įvesties srautą „close ()“ metodu.

Žemiau pateikiama terminalo ekrano kopija sukūrus ir paleidus kodą. Kaip matome, rodomas tik „Ipsum“, nes praleidome pirmuosius 5 baitus naudodami „skip()“ metodą.

Išvada

Šiame straipsnyje aptarėme Failų įvesties srauto klasės naudojimą ir skirtingus jos metodus; skaityti (), pasiekiama (), praleisti () ir uždaryti (). Naudojome šiuos metodus, norėdami nuskaityti pirmąjį failo elementą, naudodami skaitymo () ir uždarymo () metodus. Tada mes perskaitome visą failą taikydami kartotinį metodą ir naudodami tuos pačius metodus. Tada naudojome prieinamą () metodą, kad nustatytų baitų skaičių failo pradžioje ir pabaigoje. Po to mes panaudojome skip() metodą, kad praleistume kelis baitus prieš skaitydami failą, o tai leido mums gauti konkrečius reikalingus duomenis.