Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.zip.ZipEntry;
- import java.util.zip.ZipOutputStream;
- public class ZipClass {
- private List<File> fileList = new ArrayList<File>();
- private File outputFile;
- private File sourceFolder;
- private List<File> ignoreFiles = new ArrayList<File>();
- public ZipClass(File outputFile, File sourceFolder, List<File> ignoreFiles){
- this.outputFile = outputFile;
- this.sourceFolder = sourceFolder;
- this.ignoreFiles = ignoreFiles;
- }
- public File zipit(){
- try{
- outputFile.getParentFile().mkdir();
- listAll(sourceFolder);
- byte[] buffer = new byte[1024];
- FileOutputStream fileOutputStream = new FileOutputStream(outputFile);
- ZipOutputStream zipOutputStream = new ZipOutputStream(fileOutputStream);
- for(File file:fileList){
- try{
- ZipEntry zipEntry = new ZipEntry(file.getPath().substring(sourceFolder.getAbsolutePath().length()+1));
- zipOutputStream.putNextEntry(zipEntry);
- FileInputStream fileInputStream = new FileInputStream(file);
- int len;
- while((len=fileInputStream.read(buffer))>0){
- zipOutputStream.write(buffer,0,len);
- }
- fileInputStream.close();
- zipOutputStream.closeEntry();
- }catch(Exception e){
- continue;
- }
- }
- zipOutputStream.close();
- return outputFile;
- }catch(Exception e){
- e.printStackTrace();
- return null;
- }
- }
- public void listAll(File directory){
- if(ignoreFiles.contains(directory)){
- return;
- }
- if(!directory.isDirectory()){
- fileList.add(directory);
- }
- if(directory.isDirectory()){
- try{
- for(File file:directory.listFiles()){
- listAll(file);
- }
- }catch(Exception e){
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment