Java FileReader (s příklady)

V tomto výukovém programu se na příkladech seznámíme s Java FileReader a jeho metodami.

FileReaderTřída java.ioobalu lze použít ke čtení dat (ve znacích) ze souborů.

Rozšiřuje InputSreamReadertřídu.

Než se dozvíte něco o FileReader, ujistěte se, že víte o souboru Java.

Vytvořte FileReader

Abychom mohli vytvořit čtečku souborů, musíme java.io.FileReadernejprve importovat balíček. Jakmile importujeme balíček, můžeme vytvořit čtečku souborů takto.

1. Použití názvu souboru

 FileReader input = new FileReader(String name); 

Zde jsme vytvořili čtečku souborů, která bude propojena se souborem určeným jménem.

2. Použití objektu souboru

 FileReader input = new FileReader(File fileObj); 

Zde jsme vytvořili čtečku souborů, která bude propojena se souborem určeným objektem souboru.

Ve výše uvedeném příkladu jsou data v souboru uložena pomocí nějakého výchozího kódování znaků.

Vzhledem k tomu, že Java 11 můžeme v souboru určit typ kódování znaků ( UTF-8 nebo UTF-16 ).

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

Zde jsme použili Charsettřídu k určení kódování znaků čtečky souborů.

Metody FileReader

FileReaderTřída poskytuje implementace pro různé metody prezentovat ve Readertřídě.

metoda read ()

  • read() - načte jeden znak z čtečky
  • read(char() array) - načte znaky ze čtečky a uloží je do zadaného pole
  • read(char() array, int start, int length) - načte počet znaků rovných délce ze čtečky a uloží do zadaného pole počínaje od začátku pozice

Předpokládejme například, že máme soubor s názvem input.txt s následujícím obsahem.

 This is a line of text inside the file. 

Zkusme soubor přečíst pomocí 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(); ) ) ) 

Výstup

 Data v souboru: Toto je řádek textu uvnitř souboru. 

Ve výše uvedeném příkladu jsme vytvořili čtečku souborů s názvem input. Čtečka souborů je propojena se souborem input.txt .

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

K načtení dat ze souboru jsme použili read()metodu.

Metoda getEncoding ()

getEncoding()Metoda může být použita k získání typ kódování, který se používá pro ukládání dat v souboru. Například,

 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(); ) ) ) 

Výstup

 Kódování znaků vstupu1: Cp1252 Kódování znaků vstupu2: UTF8 

Ve výše uvedeném příkladu jsme vytvořili 2 čtečky souborů s názvem input1 a input2.

  • input1 neurčuje kódování znaků. Proto getEncoding()metoda vrací výchozí kódování znaků.
  • input2 určuje kódování znaků, UTF8 . Proto getEncoding()metoda vrací zadané kódování znaků.

Poznámka : Charset.forName()Metodu jsme použili k určení typu kódování znaků. Chcete-li se dozvědět více, navštivte Java Charset (oficiální dokumentace Java).

metoda close ()

K uzavření čtečky souborů můžeme použít close()metodu. Jakmile je close()metoda volána, nemůžeme použít čtečku ke čtení dat.

Další metody FileReader

Metoda Popis
ready() zkontroluje, zda je čtečka souborů připravena ke čtení
mark() označte ve čtečce souborů pozici, do které byla načtena data
reset() vrátí ovládací prvek do bodu ve čtečce, kde byla nastavena značka

Další informace najdete v Java FileReader (oficiální dokumentace Java).

Zajímavé články...