Lectura de Un Archivo de Texto Simple

Embed Size (px)

DESCRIPTION

tramp

Citation preview

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 ayudaandroid 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 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(); 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.