Você está na página 1de 3

Lectura de un archivo de texto simple

Estoy tratando de leer un archivo de texto simple en mi muestra


aplicacin Android. Estoy usando el debajo de cdigo escrito para leer el
archivo de texto simple.
1. InputStream inputStream = openFileInput("test.txt");
2. InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
3. BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

Mi pregunta es: donde debo poner esto "test.txt" archivo de mi proyecto?.


He intentado poner el archivo bajo "res/raw" y "asset" carpeta pero me
sale el exception "FileNotFound" Cuando primero vivir del cdigo escrito
arriba es ejecutado.
Gracias por la ayuda
android archivos-texto java-io
General
4 respuestas - 50 votos

4 respuestas

Coloque el archivo de texto en la /assets directorio del proyecto Android.


Uso AssetManager clase para acceder a ella.
AssetManager am = context.getAssets();
InputStream is = am.open("test.txt");

O tambin se puede poner el archivo el /res/raw directorio, donde el


archivo se indexar y es accesible por un identificador en el archivo de
R:
InputStream is = getResources().openRawResource(R.raw.test);

87 votos

Probar esto,
package example.txtRead;

import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;

import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
import java.util.Vector;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class txtRead extends Activity {


String labels="caption";
String text="";
String[] s;
private Vector<String> wordss;
int j=0;
private StringTokenizer tokenizer;

/** Called when the activity is first created. */


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
wordss = new Vector<String>();
TextView helloTxt = (TextView)findViewById(R.id.hellotxt);
helloTxt.setText(readTxt());
}

private String readTxt(){

InputStream inputStream = getResources().openRawResource(R.raw.toc);


//

InputStream inputStream = getResources().openRawResource(R.raw.internals);


System.out.println(inputStream);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

int i;
try {
i = inputStream.read();
while (i != -1)
{
byteArrayOutputStream.write(i);
i = inputStream.read();
}
inputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return byteArrayOutputStream.toString();
}
}

19 votos

Tener un archivo su assets carpeta requiere utilizar este pedazo de


cdigo para obtener los archivos de la assets carpeta:
yourContext.getAssets().open("test.txt");

En este ejemplo, getAssets() Devuelve un AssetManager instancia y luego


eres libre de usar cualquier mtodo que desee de la AssetManager API.

Você também pode gostar