访问Android中的资源文件

我在/ res / raw /文件夹(/res/raw/textfile.txt)中有一个资源文件,我试图从我的Android应用程序中读取进行处理。

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(); } } 

我尝试了不同的路径语法但总是得到java.io.FileNotFoundException错误。 如何访问/res/raw/textfile.txt进行处理? File file = new File(“res / raw / textfile.txt”); Android中的错误方法?


*答案: *

 // 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(); } } 

Solutions Collecting From Web of "访问Android中的资源文件"

如果您的Activity / Widget调用中有res/raw/textfile.txt

getResources().openRawResource(...)返回一个InputStream

这些点实际上应该是R.raw中的一个整数…对应于你的文件名,可能是R.raw.textfile (它通常是没有扩展名的文件名)

new BufferedInputStream(getResources().openRawResource(...)); 然后以流的forms读取文件的内容

事实上,你有这个public static void main(String[] args)意味着你实现你的代码是非常错误的。 你几乎肯定没有经历任何hello android教程。 你绝对应该这样做。