2013-10-23 54 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」