此代碼源於李興華老師編寫的《Java開發實戰經典》java
- package uncompress.javaio;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.util.zip.ZipEntry;
- import java.util.zip.ZipException;
- import java.util.zip.ZipFile;
- import java.util.zip.ZipInputStream;
- public class ZipInputStreamDemo02 {
- /**
- * @param args
- * @throws IOException
- * @throws ZipException
- */
- public static void main(String[] args) throws ZipException, IOException {
- // TODO Auto-generated method stub
- File file=new File(File.separator+"root"+File.separator+"ziptest.zip");
- File outFile=null;
- ZipFile zipFile=new ZipFile(file);
- ZipInputStream zipInput=new ZipInputStream(new FileInputStream(file));
- ZipEntry entry=null;
- OutputStream out=null;
- InputStream input=null;
- while((entry=zipInput.getNextEntry())!=null){
- System.out.println("解壓縮"+entry.getName()+"文件");
- outFile=new File(File.separator+"root"+File.separator+entry.getName());
- if(!outFile.getParentFile().exists()){
- outFile.getParentFile().mkdir();
- }
- if(!outFile.exists()){
- outFile.createNewFile();
- }
- input=zipFile.getInputStream(entry);
- out=new FileOutputStream(outFile);
- int temp=0;
- while((temp=input.read())!=-1){
- out.write(temp);
- }
- input.close();
- out.close();
- }
- }
- }