可能的重复:
Android - 如何确定资产中特定文件的绝对路径? https://stackoverflow.com/questions/4744169/android-how-to-determine-the-absolute-path-for-specific-file-from-assets
我正在尝试将文件传递给 File(String path) 类。有没有办法在资产文件夹中找到文件的绝对路径并将其传递给 File().我试过file:///android_asset/myfoldername/myfilename
作为路径字符串,但它不起作用。任何想法?
AFAIK,你不能创建一个File
来自资产文件,因为它们存储在 apk 中,这意味着没有资产文件夹的路径。
但是,你可以尝试创建它File
使用缓冲区和AssetManager http://developer.android.com/reference/android/content/res/AssetManager.html(它提供对应用程序的原始资产文件的访问)。
尝试做类似的事情:
AssetManager am = getAssets();
InputStream inputStream = am.open("myfoldername/myfilename");
File file = createFileFromInputStream(inputStream);
private File createFileFromInputStream(InputStream inputStream) {
try{
File f = new File(my_file_name);
OutputStream outputStream = new FileOutputStream(f);
byte buffer[] = new byte[1024];
int length = 0;
while((length=inputStream.read(buffer)) > 0) {
outputStream.write(buffer,0,length);
}
outputStream.close();
inputStream.close();
return f;
}catch (IOException e) {
//Logging exception
}
return null;
}
让我知道你的进展。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)