我正在研究在android中创建一个扩展文件。我在这方面遇到了一些问题:
出于测试目的,我创建一个.zip文件,其中包含一些视频,然后保存.obb扩展名。现在我的SD卡中的文件是main.1.com.xyz.abc.obb.zip
现在我在阅读文件时面临一些问题。执行此操作的代码:
String fileName = Helpers.getExpansionAPKFileName(this, true, 1);
String path = Environment.getExternalStorageDirectory()+File.separator + "Android"
+ File.separator + "obb" + File.separator + fileName+".zip";
InputStream ins = getExpansionFile().getInputStream(Environment.getExternalStorageDirectory()+File.separator + "Android"
+ File.separator + "obb" + File.separator + fileName+File.separator+"video123.mp4");
String name=ins.toString();
public ZipResourceFile getExpansionFile() {
String fileName = Helpers.getExpansionAPKFileName(this, true, 1);
int filesize = 108902927;
if (Helpers.doesFileExist(this, fileName+".zip",filesize , false)) {
try {
return APKExpansionSupport.getAPKExpansionZipFile(
getBaseContext(), 1, 1);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
}
现在
InputStream ins = getExpansionFile().getInputStream(Environment.getExternalStorageDirectory()+File.separator + "Android"
+ File.separator + "obb" + File.separator + fileName+File.separator+"video123.mp4");
方法返回null。
请为我提供任何解决方案。
提前致谢。
答案 0 :(得分:0)
getExpansionFile()。getInputStream(Environment.getExternalStorageDirectory()+ File.separator +“Android” + File.separator +“obb”+ File.separator + fileName + File.separator +“video123.mp4”);;
错误是ZipResourceFile中的文件由相对路径映射,而不是绝对路径。在这种情况下,从ZipResourceFile获取文件的关键只是
fileName + File.separator +“video123.mp4”