java - strings - Acceda a archivos de recursos en Android
strings.xml android studio (2)
El hecho de que tenga este public static void main(String[] args)
significa que está implementando su código extremadamente incorrecto. Es casi seguro que no hayas pasado por ninguno de los hello android tutorials. Definitivamente deberías hacer eso.
Tengo un archivo de recursos en mi carpeta / res / raw / (/res/raw/textfile.txt) que estoy tratando de leer desde mi aplicación de Android para su procesamiento.
public static void main(String[] args) {
File file = new File("res/raw/textfile.txt");
FileInputStream fis = null;
BufferedInputStream bis = null;
DataInputStream dis = null;
try {
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
dis = new DataInputStream(bis);
while (dis.available() != 0) {
// Do something with file
Log.d("GAME", dis.readLine());
}
fis.close();
bis.close();
dis.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
He intentado con una sintaxis de ruta diferente, pero siempre recibo un error java.io.FileNotFoundException . ¿Cómo puedo acceder a /res/raw/textfile.txt para procesar? Es File file = new File ("res / raw / textfile.txt"); el método equivocado en Android?
* Respuesta: *
// Call the LoadText method and pass it the resourceId
LoadText(R.raw.textfile);
public void LoadText(int resourceId) {
// The InputStream opens the resourceId and sends it to the buffer
InputStream is = this.getResources().openRawResource(resourceId);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String readLine = null;
try {
// While the BufferedReader readLine is not null
while ((readLine = br.readLine()) != null) {
Log.d("TEXT", readLine);
}
// Close the InputStream and BufferedReader
is.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
Si tiene un archivo en res/raw/textfile.txt
de su actividad / widget de llamada:
getResources().openRawResource(...)
devuelve un InputStream
Los puntos deberían ser un entero encontrado en R.raw ... correspondiente a su nombre de archivo, posiblemente R.raw.textfile
(generalmente es el nombre del archivo sin extensión)
new BufferedInputStream(getResources().openRawResource(...));
luego lea el contenido del archivo como una secuencia