Jason. Cała informatyka w jednym miejscu!

Przed Tobą kolejny materiał powstały z dzielenia zagadnień na mniejsze części! Klasa "FileReader" w języku Java to droga do odczytu pliku tekstowego, a Ty teraz masz szansę dowiedzieć się więcej na jej temat ☺️!

"FILEREADER" W JĘZYKU JAVA TO TAKŻE STRUMIEŃ

Tylko tym razem wejściowy, bo teraz będziemy chcieli wydobyć informacje, a nie je utrwalić 😉. Poznaj zapis, Czytelniku 😀:

FileReader fileReader = new FileReader("test.txt");

Tylko uwaga - blok "try-catch"! Strumień wejściowy próbuje podpiąć się pod plik wskazany w parametrze typu "String" - to może się nie powieść!

try {
	FileReader fileReader = new FileReader("test.txt");

	fileReader.close();
} catch (Exception exception) {
	exception.printStackTrace();
}

I kończymy metodą "close" - tego chyba nie muszę tłumaczyć 😊. Tak jak wtedy, możemy też dać obiekt typu "File" (który także ląduje do środka bloku "try"):

try {
	File file = new File("test.txt");
	FileReader fileReader = new FileReader(file);

	fileReader.close();
} catch (Exception exception) {
	exception.printStackTrace();
}

Do tego eksperymentu potrzebujemy następujących pakietów:

import java. io.File;
import java. io.FileReader;

PODSTAWOWE METODY KLASY "FILEREADER"

Od razu piszę, że "FileReader" w języku Java nie jest najwygodniejszym sposobem na odczytywanie informacji z pliku. Z tej klasy wolno tylko pobierać znak po znaku i w dodatku, trzeba wykonywać rzutowanie z liczby całkowitej. Stąd jest to..."surowe" podejście i dlatego lepiej korzystać z klasy "BufferedReader", tak jak to było przy zapisie danych do pliku. Ale zostawmy to - pokażę Ci podstawowe metody.

CLOSE

Dla porządku powtórzę to, co zostało napisane w artykule o "FileWriter" - skończyłeś(-aś) operować na pliku? To zamykaj strumień! Do tego służy metoda "close":

fileReader.close();

do zamykania strumieni, aby potem system operacyjny nie wrzeszczał na Ciebie, że musisz "zamknąć wszystkie programy", aby dany plik usunąć, przenieść czy zmienić mu nazwę 😜.

READ

To jest metoda pobierająca jeden znak z zawartości pliku i przechodząca do następnego:

int character = fileReader.read();

Dobrze widzisz - "int". Jeżeli strumień nie "doszedł" do końca, to zwraca wartość różną od -1. To się przydaje do zaprogramowania aplikacji, która odczyta plik tekstowy znak po znaku. Możesz to zrobić używając pętli "while" (bo liczba znaków per plik może być nieregularna):

int character;

while ((character = fileReader.read()) != -1) {
	System.out.print\(character);
}

Zapis "wszczepiający" przypisanie do zmiennej wewnątrz warunku pętli może wydawać się przerażający, jednak taki nie jest. Jest to uproszczona wersja poniższego zapisu:

int character = fileReader.read();

while (character != -1) {
	System.out.print\(character);
	
	character = fileReader.read();
}

Ponieważ to są liczby całkowite, Twoim oczom ujrzą się liczby oznaczające znak odpowiadający tabelce kodów ASCII. Żeby ujrzeć "prawdziwe" znaki, musisz wykonać rzutowanie na typ "char":

int character;

while ((character = fileReader.read()) != -1) {
	System.out.print\((char)character);
}

Warto nadmienić, że nie wszystkie języki wysokiego poziomu mogą wspierać taki zapis. Java jednak należy do tych szczęściarzy ⭐.

Klasa "FileReader" w języku Java

"FileReader" w języku Java potrafi odczytywać zawartość z pliku tekstowego, natomiast tylko w ograniczonym zakresie - pojedynczy znak i wymaga rzutowania na typ "char".


Wszystko co istotne, zostało przedstawione.

PODOBNE ARTYKUŁY