Java FileReader (esimerkkien kanssa)

Tässä opetusohjelmassa opitaan Java FileReaderista ja sen menetelmistä esimerkkien avulla.

FileReaderLuokan java.iopaketti voidaan käyttää tietojen lukemiseen (merkit) tiedostoista.

Se laajentaa InputSreamReaderluokkaa.

Ennen kuin opit FileReader, varmista, että tiedät Java-tiedostosta.

Luo FileReader

Tiedostolukijan luomiseksi meidän on java.io.FileReaderensin tuotava paketti. Kun tuot paketin, voimme luoda tiedostolukijan näin.

1. Käyttämällä tiedoston nimeä

 FileReader input = new FileReader(String name); 

Tässä olemme luoneet tiedostonlukijan, joka linkitetään nimen määrittelemään tiedostoon.

2. Tiedoston objektin käyttäminen

 FileReader input = new FileReader(File fileObj); 

Tässä olemme luoneet tiedostonlukijan, joka linkitetään tiedoston objektin määrittelemään tiedostoon.

Yllä olevassa esimerkissä tiedoston tiedot tallennetaan käyttämällä jotakin oletusmerkkikoodausta.

Java 11: n jälkeen voimme kuitenkin määrittää myös tiedostossa olevan merkkikoodauksen tyypin ( UTF-8 tai UTF-16 ).

 FileReader input = new FileReader(String file, Charset cs); 

Tässä olemme käyttäneet Charsetluokkaa tiedostolukijan merkintäkoodauksen määrittämiseen.

FileReaderin menetelmät

FileReaderLuokka antaa toteutuksia eri menetelmiä esittää, että Readerluokan.

read () Menetelmä

  • read() - lukee yhden merkin lukijalta
  • read(char() array) - lukee merkit lukijalta ja tallentaa määritettyyn ryhmään
  • read(char() array, int start, int length) - lukee lukijalta pituuden verran merkkien lukumäärän ja tallentaa määrätyn matriisin paikan alusta alkaen

Oletetaan esimerkiksi, että meillä on tiedosto nimeltä input.txt, jolla on seuraava sisältö.

 This is a line of text inside the file. 

Yritetään lukea tiedosto käyttämällä FileReader.

 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 FileReader input = new FileReader("input.txt"); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Tuotos

 Tiedot tiedostossa: Tämä on tekstirivi tiedoston sisällä. 

Yllä olevassa esimerkissä olemme luoneet tiedostonlukijan nimeltä input. Tiedostonlukija on linkitetty tiedostoon input.txt .

 FileInputStream input = new FileInputStream("input.txt"); 

Tietojen lukemiseksi tiedostosta olemme käyttäneet read()menetelmää.

getEncoding () -menetelmä

getEncoding()Menetelmää voidaan käyttää saamaan koodauslajin, jota käytetään tallentaa tiedoston tiedot. Esimerkiksi,

 import java.io.FileReader; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( try ( // Creates a FileReader with default encoding FileReader input1 = new FileReader("input.txt"); // Creates a FileReader specifying the encoding FileReader input2 = new FileReader("input.txt", Charset.forName("UTF8")); // Returns the character encoding of the file reader System.out.println("Character encoding of input1: " + input1.getEncoding()); System.out.println("Character encoding of input2: " + input2.getEncoding()); // Closes the reader input1.close(); input2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Tuotos

 Tulon1 merkkikoodaus: Cp1252 Tulon2 merkkikoodaus: UTF8 

Yllä olevassa esimerkissä olemme luoneet 2 tiedostolukijaa nimeltään input1 ja input2.

  • input1 ei määritä merkkikoodausta. Siksi getEncoding()menetelmä palauttaa oletusmerkkikoodauksen.
  • input2 määrittää merkkikoodauksen UTF8 . Siksi getEncoding()menetelmä palauttaa määritetyn merkkikoodauksen.

Huomaa : Olemme käyttäneet Charset.forName()menetelmää merkkien koodauksen tyypin määrittämiseen. Lisätietoja on Java Charset -sivustossa (virallinen Java-dokumentaatio).

sulje () Menetelmä

Tiedostonlukijan sulkemiseksi voimme käyttää close()menetelmää. Kun close()menetelmä on kutsuttu, emme voi käyttää lukijaa tietojen lukemiseen.

Muut FileReader-menetelmät

Menetelmä Kuvaus
ready() tarkistaa, onko tiedostojen lukulaite valmis lukemaan
mark() merkitse sijainti tiedostonlukijassa, johon tiedot on luettu
reset() palauttaa ohjaimen lukijan kohtaan, johon merkki asetettiin

Lisätietoja on Java FileReaderissa (virallinen Java-dokumentaatio).

Mielenkiintoisia artikkeleita...