我的应用程序包含一些需要阅读的.txt文件。
我曾经使用Inputstream读取它们:
Class c = this.getClass();
InputStream is = c.getResourceAsStream("/fileName.txt");
出于效率原因,我需要使用RandomAccessFile读取它们。
因为我无法使用c.getResourceAsStream(),所以我需要找到另一种获取文件的方法。
我尝试了以下代码:
Class c = this.getClass();
URL fileURL = c.getResource("/fileName.txt");
File file =new File(fileURL.getPath());
或
File file =new File(fileURL.toURI());
但无法找到该文件。
我想我缺少一些基本的东西,有人可以帮助我吗?
答案 0 :(得分:3)
您最初在哪里获得文件?是在原始文件夹,资产文件夹......?
答案 1 :(得分:2)
只是想在此处添加更多细节来解释为什么File file =new File(fileURL.getPath());
无法正常工作。应用程序中的所有内容都包含在.akp文件中,该文件只是一个重命名的.zip文件。这意味着当您的应用程序从资源目录请求文件时,该路径上实际上不存在文件。使用InputStream is = this.getAssets().open("fileName.txt");
将打开apk并在那里查找。