Šioje pamokoje pavyzdžio pagalba sužinosime apie „Java Reader“, jo poklasius ir metodus.
Reader
Klasės java.io
pakuotėje yra abstraktus superklasė, kuris atstovauja simbolių srautą.
Kadangi Reader
tai yra abstrakti klasė, ji savaime nėra naudinga. Tačiau jo poklasius galima naudoti duomenims nuskaityti.
Skaitytojo poklasiai
Norėdami naudoti „“ funkcionalumą Reader
, galime naudoti jo poklasius. Kai kurie iš jų yra:
- „BufferedReader“
- „InputStreamReader“
- „FileReader“
- StringReader
Apie visus šiuos poklasius sužinosime kitoje pamokoje.
Sukurkite skaityklę
Norėdami sukurti „a“ Reader
, pirmiausia turime importuoti java.io.Reader
paketą. Kai importuosime paketą, štai kaip galime sukurti skaitytuvą.
// Creates a Reader Reader input = new FileReader();
Čia mes sukūrėme skaitytuvą naudodami FileReader
klasę. Taip yra todėl, kad Reader
yra abstrakti klasė. Taigi mes negalime sukurti objekto Reader
.
Pastaba : skaitytojus taip pat galime sukurti iš kitų Reader
.
Skaitytojo metodai
Reader
Klasė suteikia skirtingus metodus, kad būtų įgyvendintos jos poklasius. Štai keletas dažniausiai naudojamų metodų:
ready()
- patikrina, ar skaitytojas yra pasirengęs skaitytiread(char() array)
- skaito srauto simbolius ir saugo nurodytame masyveread(char() array, int start, int length)
- skaito iš srauto simbolių skaičių, lygų ilgiui, ir saugo nurodytame masyve nuo pat pradžiųmark()
- žymi srauto vietą, iki kurios duomenys buvo nuskaitytireset()
- grąžina valdiklį į tašką sraute, kuriame yra ženklasskip()
- atmeta nurodytą skaičių simbolių iš srauto
Pavyzdys: Skaitytojas naudodamas „FileReader“
Štai kaip mes galime įgyvendinti Reader
naudodami FileReader
klasę.
Tarkime, kad turime failą pavadinimu input.txt su tokiu turiniu.
This is a line of text inside the file.
Pabandykime perskaityti šį failą naudodami FileReader
(poklasį Reader
).
import java.io.Reader; import java.io.FileReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a reader using the FileReader Reader input = new FileReader("input.txt"); // Checks if reader is ready System.out.println("Is there data in the stream? " + input.ready()); // Reads characters input.read(array); System.out.println("Data in the stream:"); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Rezultatas
Ar sraute yra duomenų? true duomenys sraute: tai yra teksto eilutė failo viduje.
Ankstesniame pavyzdyje mes sukūrėme skaitytuvą naudodami FileReader
klasę. Skaitytojas susietas su failu input.txt .
Reader input = new FileReader("input.txt");
Norėdami perskaityti duomenis iš failo input.txt , mes įdiegėme šiuos metodus.
input.read(); // to read data from the reader input.close(); // to close the reader
Norėdami sužinoti daugiau, apsilankykite „Java Reader“ (oficiali „Java“ dokumentacija).