我有超过100000个文件,如何使用Android中的Hashmap读取这些文件?

时间:2016-04-26 11:49:55

标签: java android android-studio hashmap inputstream

我正在研究android扩展文件,在此过程中我使用Hashmap函数来存储文件并读取。在读取文件时,只能读取21900个文件,但实际上我有超过100000个文件。无法从OBB文件中读取其余文件。如何阅读整个文件?

public InputStream getInputStream(String assetPath) throws IOException {
    ZipEntryRO entry = mHashMap.get(assetPath);
    if (mHashMap.containsKey(assetPath) ) {
        if (entry.isUncompressed()) {
            return entry.getAssetFileDescriptor().createInputStream();
        } else {
            ZipFile zf = mZipFiles.get(entry.getZipFile());
            /** read compressed files **/
            if (null == zf) {
                zf = new ZipFile(entry.getZipFile(), ZipFile.OPEN_READ);
                mZipFiles.put(entry.getZipFile(), zf);
            }
            ZipEntry zi = zf.getEntry(assetPath);
            if (null != zi)
                return zf.getInputStream(zi);
        }
    }
    return null;
}

0 个答案:

没有答案