我正在研究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;
}