2013-10-23 57 views
1

我正在创建android中的扩展文件。我在这方面遇到了一些问题:Android中的扩展文件

为了测试目的,我创建了一个.zip文件,其中包含一些视频,然后保存它.b扩展名。现在我的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

getExpansionFile()。的getInputStream(Environment.getExternalStorageDirectory()+文件分割符+ “机器人” +文件分割符+ “OBB” +文件分割符+文件名+文件分割符+ “video123.mp4”) ;;

错误在于ZipResourceFile中的文件是由相对路径映射的,而不是绝对路径。在这种情况下,关键要得到你的文件从ZipResourceFile只是

文件名+文件分割符+“video123.mp4”