我的文件名为ex.zip.在这个例子中,Zip文件只包含一个具有相同名称的文件(即“ex.txt”),这个文件非常大.我不想每次都提取zip文件.因此我需要在不解压缩zip文件的情况下读取文件的内容(ex.txt).我尝试了下面的代码但是我只能读取变量中文件的名称.
先感谢您
fis=new FileInputStream("C:/Documents and Settings/satheesh/Desktop/ex.zip");
ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis));
ZipEntry entry;
while((entry = zis.getNextEntry()) != null) {
i=i+1;
System.out.println(entry);
System.out.println(i);
//read from zis until available
}
最佳答案
试试这个:
ZipFile fis = new ZipFile("ex.zip");
int i = 0;
for (Enumeration e = zip.entries(); e.hasMoreElements();) {
ZipEntry entry = (ZipEntry) e.nextElement();
System.out.println(entry);
System.out.println(i);
InputStream in = fis.getInputStream(entry);
}
例如,如果文件包含文本,并且您想将其作为String打印,则可以像这样读取InputStream:Read/convert an InputStream to a String