2011-12-19 20 views
40

Mam metodę, która odczytuje plik i zwraca ciąg znaków, ale chciałem zwrócić czytelnika. Chcę przekonwertować ciąg do czytnika, lub chcę przeczytać plik i zwrócić czytelnika. Jak mogę to zrobić?Jak przekonwertować String na Reader w java

+0

String Reader działa poprawnie. Użyłem filereadera zamiast pisać własną metodę, jest to prostsze. (Czytnik) nowy FileReader (filePath); – Arasu

Odpowiedz

84

Zastosowanie java.io.StringReader: return new StringReader(string);.

Następnym razem, gdy potrzebujesz czytnika, możesz sprawdzić "Bezpośrednie znane podklasy" klasy Reader. To samo dotyczy InputStream itd. Miejscem rozpoczęcia jest javadoc - zawiera on sporo użytecznych informacji.

Ale dla twojego zadania, lepiej postępuj zgodnie z radą Jon Lin, używając po prostu FileReader. Nie ma potrzeby przechodzenia przez String. (Do tego moja opinia z poprzedniego paragrafu również się stosuje)

+0

Dodałbym, że jeśli używasz Eclipse, przeciągnięcie drzewa wszystkich znanych podklas dla dowolnego typu jest tak proste, jak naciśnięcie F4, gdy kursor znajduje się na typie (np. 'Reader'). Zakładam, że inne IDE są podobnie wyposażone. Niezwykle pomocny w takich sytuacjach. – pwrex

+0

To odpowiada * dosłowne * pytanie w tytule i prawdopodobnie dlatego 90% przyszło tutaj. Ale odpowiedź ** @ JonLin ** ma lepsze rozwiązanie dla konkretnej sytuacji opisanej przez OP. –

8

Można użyć klasy StringReader z java.io pakietu.

String stringToBeParsed = "The quick brown fox jumped over the lazy dog"; 
StringReader reader = new StringReader(stringToBeParsed); 
+16

"* jumpS *", a nie "* jumpED *", w przeciwnym razie nie wszystkie 26 znaków są używane ;-). –

9

Albo możesz po prostu utworzyć FileReader i zwrócić to.

+1

dlaczego FileReader? – Bozho

+0

Mówi, że ma metodę, która czyta plik i chce zwrócić Czytnik zamiast Stringa –

+1

ohh .. tak. tęskniłem, dzięki. I +1 – Bozho

Powiązane problemy