>我在我的Android应用程序中使用了一种非常复杂的方法(不是我写的),它采用字符串参数"path",然后从该路径打开并解析文件。问题是这样的:当我在SD卡上设置文件的路径时(例如:Environment.getExternalStorageDirectory()+"/myfile.txt" ),它工作正常。但是我不希望我的文件可供用户使用,所以我尝试在复制文件的项目中设置资产文件夹的路径,使用此路径将不起作用。我用于资产文件夹中文件的路径是这样的:file:///android_asset/myfile.txt那么,为什么第一条路径工作正常,而第二条路径什么都不做呢?
谢谢
您必须使用资源管理器才能访问资产文件夹中的文件。
所以我所做的是这样的:我编写了一个方法,将文件从资产复制到我应用程序的数据目录,然后将此路径发送到"非常复杂的方法"。现在它工作正常。代码示例(也许将来会对其他人有所帮助):
从资产文件夹中打开文件
InputStream in = getAssets().open("myfile.txt");
创建输出及其位置
您可以设置任何您喜欢的路径
(new File("data/data/myAppPackageName/databases/")).mkdirs();
OutputStreamout = new FileOutputStream("data/data/myAppPackageName/databases/myfile.txt");
从"in"到"out"的复制方法
作为参数发送到"非常复杂的方法"的路径:"data/data/myAppPackageName/databases/myfile.txt"