FileWriter czy Skanner ?

0

W książce, z której uczyłem się Javy, do odczytu danych z pliku znakowego proponowano użycie FileWritera, tymczasem w różnych tutorialach online widzę, że popularne jest odczytywanie danych za pomocą Skannera zainicjowanego jako new Skanner (jakiś plik).
Ja wolę opcję ze skanerem, ale tak naprawdę nie wiem czy któraś z tych metod ma przewagę nad drugą w jakimś aspekcie ?

0

wtf? Writer "PISZE", a Scanner "SKANUJE". Dwie różne rzeczy.

0

Chyba nie trudno się domyślić, że chodziło o FileReader'a...
Generalnie Scanner posiada to samo co FileReader oraz dodatkowo pozwala parsować odczytywane dane na odpowiednie typy - metody nextInt(), nextDouble() itd. .

0

IMO, Scanner jest wygodniejszy. Z którego roku jest książka? Scanner jest dostępny od wersji 1.5, która ukazała się w 2004 roku.

0

Skaner jest wygodniejszy bo ma rozne pomocnicze metody (nextInt, nextToken itp.) ktore jednak wprowadzaja pewien narzut (tokeny sa sprawdzane za pomoca regexow). Jesli jedyne co chce sie robic to wczytywanie linijka po linijce, ewentualnie split linijki na wyrazy to podejrzewam ze BufferedReader bedzie szybszy (nie mierzylem, ale zachecam forumowiczow do testow i podzielenia sie wynikami ;d). Dodatkowo, Reader, Writer i ich strumieniowe odpowiedniki to bardzo ogolne i niskopoziomowe API ktore uzywane jest wszedzie. Skanera nie przekazywalbym jako argument i nie zwracal jako wynik funkcji jesli mialyby one byc uzywane przez szersza publicznosc. Skanera zawsze mozna zrobic z Readera / InputStreama, odwrotnie bedzie duzo wiecej zabawy.

0

Oczywiście chodziło mi o FileReadera, książka z 2012 "Java przewodnik dla początkujących", helionu. Dzięki za odpowiedzi :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1