private InputStream Raw_inputstream;
private JarInputStream Jar_inputstream;
private HashMap SourcesMap;
SourcesMap = new HashMap();
Raw_inputstream = this.getResources().openRawResource(R.raw.src);
try {
Jar_inputstream = new JarInputStream(Raw_inputstream);
while(true){
JarEntry zentry = Jar_inputstream.getNextJarEntry();
if(zentry == null) {
Jar_inputstream.closeEntry();
break;
}
if(!zentry.isDirectory()){
Vector ve_data = new Vector();
int data_len = 0;
while(true) {
byte[] bytes = new byte[1024];
int len = Jar_inputstream.read(bytes, 0, bytes.length);
if(len == -1) {
break;
}
byte[] sjbytes = new byte[len];
System.arraycopy(bytes, 0, sjbytes, 0, len);
ve_data.add(sjbytes);
data_len = data_len + sjbytes.length;
}
int size = ve_data.size();
int n = 0;
int dstPos = 0;
byte[] data = new byte[data_len];
while(n<size) {
System.arraycopy(ve_data.get(n), 0, data, dstPos, ve_data.get(n).length);
dstPos = dstPos + ve_data.get(n).length; n++;
}
ve_data.clear();
SourcesMap.put(zentry.getName(), data);
}
Jar_inputstream.closeEntry();
}
} catch (IOException e) {
e.printStackTrace();
}
android Raw读取JAR资源打包文件
最新推荐文章于 2021-11-18 01:03:52 发布