2011-12-19 18 views
40

Tengo un método que lee un archivo y devuelve una cadena, pero quería devolver un lector. Quiero convertir la cadena a un lector, o quiero leer el archivo y devolver el lector. ¿Cómo puedo hacer esto?Cómo convertir String to Reader en Java

+0

String Reader funciona bien. He utilizado el lector de archivos en lugar de escribir mi propio método, esto es más simple. (Lector) nuevo FileReader (filePath); – Arasu

Respuesta

84

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

La próxima vez que necesite un lector, puede consultar las "subclases directas conocidas" de la clase Reader. Lo mismo vale para InputStream, etc. El lugar para comenzar es javadoc, contiene bastante información útil.

Pero para su tarea a mano, será mejor que siga el consejo de Jon Lin de simplemente usar un FileReader. No es necesario pasar por String. (Para eso, también se aplica mi consejo del párrafo anterior)

+0

Yo agregaría que si está usando Eclipse, sacar un árbol de todas las subclases conocidas para cualquier tipo es tan fácil como presionar F4 cuando el cursor está en el tipo (por ejemplo, 'Reader'). Supongo que otros IDEs están equipados de manera similar. Tremendamente útil en estas situaciones. – pwrex

+0

Responde la pregunta * literal * en el título y es probable que el 90% haya venido aquí. Pero la respuesta de ** @ JonLin ** tiene una mejor solución para la situación específica descrita por OP. –

8

Puede usar la clase StringReader del paquete java.io.

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

"* jumpS *", no "* jumpED *", de lo contrario, no se usan los 26 caracteres ;-). –

9

O simplemente puede crear un FileReader y devolverlo.

+1

por qué FileReader? – Bozho

+0

Dice que tiene un método que lee un archivo y quiere devolver un Reader en lugar de String –

+1

ohh ... sí. lo perdí, gracias. Y +1 – Bozho