Java FileReader (ar piemēriem)

Šajā apmācībā mēs ar piemēru palīdzību uzzināsim par Java FileReader un tā metodēm.

FileReaderNo klases java.iopaketē var izmantot, lai lasītu datus (rakstzīmes) no failiem.

Tas paplašina InputSreamReaderklasi.

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.FileReaderpakotne. 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 Charsetklasi, lai norādītu failu lasītāja rakstzīmju kodējumu.

FileReader metodes

FileReaderKlase nodrošina implementācijas dažādām metodēm prezentēt šajā Readerklasē.

lasīt () Metode

  • read() - no lasītāja nolasa vienu rakstzīmi
  • read(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).

Interesanti raksti...