content java android inputstream readline bufferedreader

java - content - Convertir InputStream a BufferedReader



inputstream to string java (3)

Un constructor de BufferedReader toma un reader como argumento, no como un InputStream. Primero debe crear un Reader a partir de su transmisión, así:

Reader reader = new InputStreamReader(is); BufferedReader br = new BufferedReader(reader);

Preferiblemente, también proporciona un Charset o nombre de codificación de caracteres para el constructor de StreamReader. Como una secuencia solo proporciona bytes, convertirlos en texto significa que la codificación debe ser conocida. Si no lo especifica, se asume el valor predeterminado del sistema.

Intento leer un archivo de texto línea por línea usando InputStream desde el directorio de activos en Android.

Quiero convertir el InputStream a un BufferedReader para poder usar el readLine ().

Tengo el siguiente código:

InputStream is; is = myContext.getAssets().open ("file.txt"); BufferedReader br = new BufferedReader (is);

La tercera línea cae el siguiente error:

Multiple markers at this line The constructor BufferedReader (InputStream) is undefinded.

Lo que intento hacer en C sería algo así como:

StreamReader file; file = File.OpenText ("file.txt"); line = file.ReadLine(); line = file.ReadLine(); ...

¿Qué estoy haciendo mal o cómo debería hacer eso? ¡Gracias!


BufferedReader no puede envolver un InputStream directamente. Envuelve otro Reader . En este caso, querrías hacer algo como:

BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));


InputStream is; InputStreamReader r = new InputStreamReader(is); BufferedReader br = new BufferedReader(r);