1

我有个问题。

我使用此代码来读取 zip 文件的内容:

    File file = new File(TogglesManager.EXTERNAL_STORAGE_THEMES_DIRECTORY+"filename.zip");
    ZipFile zip = new ZipFile(file);

但是当我尝试使用资产时,我有一个FileNotFoundException.

要读取资产 zip 文件,我使用以下代码:

    File file = c.getFileStreamPath("assetsFile.zip");
    ZipFile zip = new ZipFile(file);

“文件”不为空,因为如果我写,file.getName();我会看到正确的文件名。

我不想使用ZipInputStream类,但只ZipFile

4

1 回答 1

3

您无法使用正常的文件操作访问资产。你将不得不使用

AssetManager assetManager = mContext.getAssets();
InputStream is = assetManager.open("assetsFile.zip");

但是由于 ZipFile 不以 InputStream 作为参数,因此您必须将资产文件复制到内部存储中,然后使用File

进一步AFAIK,apk是压缩的,因此在资产中存储压缩文件可能不会改变使用的存储空间,所以也许您不需要在资产中使用zipfile。

于 2012-11-19T19:28:31.923 回答