//file nameString[] names={"one.jpg", "two.jpg", "three.jpg", "four.jpg"}; //Four file streamsFileInputStream INPUT1 =NewFileInputStream (NewFile ("FileName path")); FileInputStream Input2=NewFileInputStream (NewFile ("FileName path")); FileInputStream INPUT3=NewFileInputStream (NewFile ("FileName path")); FileInputStream Input4=NewFileInputStream (NewFile ("FileName path")); Fileinputstream[] Inputs={INPUT1,INPUT2,INPUT3,INPUT4}; //Zip packaging PicturesFile ZipFile =NewFile ("Storage path for compressed files"); byte[] buf =New byte[1024]; intLen; Zipoutputstream Zout=NewZipoutputstream (NewFileOutputStream (ZipFile)); for(inti = 0; i < inputs.length; i++) {FileInputStream in=Inputs[i]; Zout.putnextentry (NewZipEntry (Names[i])); while(len = In.read (buf)) > 0) {zout.write (buf,0, Len); } zout.closeentry (); In.close (); } zout.close (); //Download ImageFileInputStream Zipinput =NewFileInputStream (ZipFile); OutputStream out=Response.getoutputstream (); Response.setcontenttype ("Application/octet-stream"); Response.setheader ("Content-disposition", "attachment; Filename=images.zip "); while((Len=zipinput.read (BUF))! =-1) {out.write (buf,0, Len); } zipinput.close (); Out.flush (); Out.close (); //Delete a compressed packageZipfile.delete ();
Javaweb compress multiple files and download