Cargar un archivo de texto simple en Android Studio


Tenemos un nuevo proyecto utilizando el nuevo IDE de Google Android Studio.

Estoy tratando de cargar un archivo de texto simple usando un InputStreamReader. Estoy recibiendo una excepción de archivo no encontrado. Ahora no hay ninguna carpeta assets/. Traté de crear y añadir mi archivo en muchos lugares diferentes (en la raíz del proyecto, en la raíz de la .archivo java, etc...) He tratado de mover el archivo, pero aún así obtener el archivo no encontrado.

Ahora que nunca fue un problema usar Eclipse ya que hay una carpeta de activos creado por cualquier plantilla.

¿Alguien sabe a dónde deben ir los activos o cómo cargarlos?

Aquí está el código usado, falla en .open ():

InputStream iS = resources.getAssets().open("bla.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(iS));

También probé este código en Eclipse, funciona y el contenido del archivo se carga. Así que probablemente hay un paso necesario en Android Studio.

Author: Can, 2013-05-29

3 answers

  1. Paso 1: Abrir en Name_Project-Name_Project.archivo iml.
  2. Ver la línea : option name= "ASSETS_FOLDER_RELATIVE_PATH" value = "/src / main / assets "
  3. Paso 2: Cree una subcarpeta "assets" en la carpeta principal.
  4. Paso 3: Pon el archivo en esta carpeta.
  5. Paso 4: Cárgalo. Terminado.
 87
Author: FIT226557,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-30 14:36:18

Este código funcionará para you.It obtendrá todos los datos del archivo.

public class Quiz extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_quiz);
    try {
        PlayWithRawFiles();
    } catch (IOException e) {
        Toast.makeText(getApplicationContext(),
                "Problems: " + e.getMessage(), Toast.LENGTH_LONG).show();
    }
}// onCreate

public void PlayWithRawFiles() throws IOException {
    String str="";
    StringBuffer buf = new StringBuffer();
    InputStream is = this.getResources().openRawResource(R.raw.ashraf);
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    if (is!=null) {
        while ((str = reader.readLine()) != null) {
            buf.append(str + "\n" );
        }
    }
    is.close();
   TextView tv=(TextView)findViewById(R.id.tv1);
    tv.setText(buf.toString());


}//
        }
 1
Author: Ashraf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-11 20:21:22

La respuesta correcta no funcionó exactamente para mí. Esto funciona:

Vaya a la vista de proyecto y luego vaya a app/src/main y cree un nuevo directorio assets

Para cargar el archivo:

   InputStream is = getApplicationContext().getAssets().open("bla.txt");

O:

   InputStream is = context.getAssets().open("bla.txt");

Y luego convertirlo en cadena de la manera que desee, ejemplos aquí

Video detallado de cómo hacerlo (no mío)

 0
Author: Nagmon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-07 12:12:21