Java Reader (med exempel)

I den här handledningen lär vi oss om Java Reader, dess underklasser och dess metoder med hjälp av ett exempel.

Paketets Readerklass java.ioär en abstrakt superklass som representerar en ström av karaktärer.

Eftersom det Readerär en abstrakt klass är det inte användbart i sig. Emellertid kan dess underklasser användas för att läsa data.

Underklasser av läsaren

För att använda funktionaliteten hos Readerkan vi använda dess underklasser. Några av dem är:

  • BufferedReader
  • InputStreamReader
  • FileReader
  • StringReader

Vi lär oss om alla dessa underklasser i nästa handledning.

Skapa en läsare

För att skapa ett Readermåste vi först importera java.io.Readerpaketet. När vi väl har importerat paketet, här är hur vi kan skapa läsaren.

 // Creates a Reader Reader input = new FileReader(); 

Här har vi skapat en läsare som använder FileReaderklassen. Det är för att det Readerär en abstrakt klass. Därför kan vi inte skapa ett objekt av Reader.

Obs! Vi kan också skapa läsare från andra underklasser av Reader.

Metoder för läsare

Den Readerklass tillhandahåller olika metoder som implementeras av dess underklasser. Här är några av de vanliga metoderna:

  • ready() - kontrollerar om läsaren är redo att läsas
  • read(char() array) - läser karaktärerna från strömmen och lagras i den angivna matrisen
  • read(char() array, int start, int length) - läser antalet tecken som är lika långa från strömmen och lagras i den angivna matrisen från början
  • mark() - markerar positionen i strömmen till vilken data har lästs
  • reset() - återställer kontrollen till den punkt i strömmen där märket sätts
  • skip() - kasserar det angivna antalet tecken från strömmen

Exempel: Läsare med FileReader

Här är hur vi kan implementera Readermed FileReaderklassen.

Antag att vi har en fil med namnet input.txt med följande innehåll.

 This is a line of text inside the file. 

Låt oss försöka läsa den här filen med FileReader(en underklass av 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(); ) ) ) 

Produktion

Finns det data i strömmen? true Data in the stream: Detta är en textrad i filen.

I exemplet ovan har vi skapat en läsare som använder FileReaderklassen. Läsaren är länkad till filen input.txt .

 Reader input = new FileReader("input.txt"); 

För att läsa data från filen input.txt har vi implementerat dessa metoder.

 input.read(); // to read data from the reader input.close(); // to close the reader 

För att lära dig mer, besök Java Reader (officiell Java-dokumentation).

Intressanta artiklar...