可能是重复问题:
Android - 如何从Assets获取特定文件的绝对路径?
我正在尝试将文件传递给File(String path)类。是否有一种方法可以找到assets文件夹中文件的绝对路径并将其传递给File()。我尝试使用file:///android_asset/myfoldername/myfilename
作为路径字符串,但它没有起作用。有任何想法吗?
可能是重复问题:
Android - 如何从Assets获取特定文件的绝对路径?
我正在尝试将文件传递给File(String path)类。是否有一种方法可以找到assets文件夹中文件的绝对路径并将其传递给File()。我尝试使用file:///android_asset/myfoldername/myfilename
作为路径字符串,但它没有起作用。有任何想法吗?
File
,因为这些文件存储在apk中,这意味着没有路径指向资产文件夹。
但是,你可以尝试使用缓冲区和AssetManager
(它提供了对应用程序原始资产文件的访问)来创建该File
。
尝试做一些类似于:
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;
}
请告诉我你的进展情况。