Šajā apmācībā mēs ar piemēru palīdzību uzzināsim par Java FileReader un tā metodēm.
FileReader
No klases java.io
paketē var izmantot, lai lasītu datus (rakstzīmes) no failiem.
Tas paplašina InputSreamReader
klasi.
Pirms uzzināt par FileReader
, pārliecinieties, vai zināt Java failu.
Izveidojiet FileReader
Lai izveidotu failu lasītāju, mums vispirms ir jāimportē java.io.FileReader
pakotne. Kad pakotne ir importēta, šeit ir norādīts, kā mēs varam izveidot failu lasītāju.
1. Izmantojot faila nosaukumu
FileReader input = new FileReader(String name);
Šeit mēs esam izveidojuši failu lasītāju, kas būs saistīts ar failu, kuru norāda nosaukums.
2. Izmantojot faila objektu
FileReader input = new FileReader(File fileObj);
Šeit mēs esam izveidojuši failu lasītāju, kas būs saistīts ar faila objekta norādīto failu.
Iepriekš minētajā piemērā dati failā tiek saglabāti, izmantojot kādu noklusējuma rakstzīmju kodējumu.
Tomēr kopš Java 11 mēs arī failā varam norādīt rakstzīmju kodēšanas veidu ( UTF-8 vai UTF-16 ).
FileReader input = new FileReader(String file, Charset cs);
Šeit mēs izmantojām Charset
klasi, lai norādītu failu lasītāja rakstzīmju kodējumu.
FileReader metodes
FileReader
Klase nodrošina implementācijas dažādām metodēm prezentēt šajā Reader
klasē.
lasīt () Metode
read()
- no lasītāja nolasa vienu rakstzīmiread(char() array)
- nolasa rakstzīmes no lasītāja un saglabā norādītajā masīvāread(char() array, int start, int length)
- nolasa no lasītāja rakstzīmju skaitu, kas vienāds ar garumu, un glabā norādītajā masīvā, sākot ar pozīcijas sākumu
Piemēram, pieņemsim, ka mums ir fails ar nosaukumu input.txt ar šādu saturu.
This is a line of text inside the file.
Mēģināsim lasīt failu, izmantojot 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(); ) ) )
Rezultāts
Dati failā: šī ir teksta rindiņa faila iekšpusē.
Iepriekš minētajā piemērā mēs esam izveidojuši failu lasītāju ar nosaukumu input. Failu lasītājs ir saistīts ar failu input.txt .
FileInputStream input = new FileInputStream("input.txt");
Lai lasītu datus no faila, mēs izmantojām read()
metodi.
getEncoding () metode
getEncoding()
Metodi var izmantot, lai iegūtu kodēšanas veidu, kas tiek izmantota, lai uzglabātu datus failā. Piemēram,
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(); ) ) )
Rezultāts
Input1: Cp1252 rakstzīmju kodējums: input2: UTF8
Iepriekš minētajā piemērā mēs esam izveidojuši 2 failu lasītājus ar nosaukumu input1 un input2.
- input1 nenorāda rakstzīmju kodējumu. Tādējādi
getEncoding()
metode atgriež noklusējuma rakstzīmju kodējumu. - input2 norāda rakstzīmju kodējumu UTF8 . Tādējādi
getEncoding()
metode atgriež norādīto rakstzīmju kodējumu.
Piezīme . Mēs izmantojām Charset.forName()
metodi, lai norādītu rakstzīmju kodēšanas veidu. Lai uzzinātu vairāk, apmeklējiet Java Charset (oficiālā Java dokumentācija).
aizvērt () metode
Lai aizvērtu failu lasītāju, mēs varam izmantot close()
metodi. Kad close()
metode ir izsaukta, mēs nevaram izmantot lasītāju datu lasīšanai.
Citas FileReader metodes
Metode | Apraksts |
---|---|
ready() | pārbauda, vai failu lasītājs ir gatavs lasīšanai |
mark() | failu lasītājā atzīmējiet vietu, līdz kurai dati ir nolasīti |
reset() | atgriež vadību lasītājā, kur zīme tika uzstādīta |
Lai uzzinātu vairāk, apmeklējiet Java FileReader (oficiālā Java dokumentācija).