package com.nmmc.dms.utils;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipUtility {
private static String strMainPath = "";
public ZipUtility(String strPath) {
strMainPath = strPath;
strMainPath = strMainPath.replaceAll("\\\\", "/");
}
private static void addDirectory(ZipOutputStream zout, File fileSource) {
File[] files = fileSource.listFiles();
for (int i = 0; i < files.length; i++) {
try {
if (files[i].isDirectory()) {
addDirectory(zout, files[i]);
continue;
}
System.out.println("Adding file " + files[i].getName());
String strAppendPath = files[i].getPath().replaceAll("\\\\", "/");
strAppendPath = strAppendPath.split(strMainPath)[1];
if (strAppendPath.charAt(0) == '/') {
strAppendPath = strAppendPath.replaceFirst("/", "");
}
byte[] buffer = new byte[1024];
FileInputStream fin = new FileInputStream(files[i]);
zout.putNextEntry(new ZipEntry(strAppendPath));
int length;
while ((length = fin.read(buffer)) > 0) {
zout.write(buffer, 0, length);
}
zout.closeEntry();
fin.close();
} catch (IOException ioe) {
System.out.println("IOException :" + ioe);
}
}
}
public static boolean zipDirectory(String dir, String zipfile) throws IllegalArgumentException {
try {
dir.replaceAll("\\\\", "/");
zipfile.replaceAll("\\\\", "/");
FileOutputStream fout = new FileOutputStream(zipfile);
ZipOutputStream zout = new ZipOutputStream(fout);
File fileSource = new File(dir);
addDirectory(zout, fileSource);
zout.close();
System.out.println("Zip file has been created!");
} catch (IOException exception) {
System.out.println("There is an IoException Occured :" + exception);
exception.printStackTrace();
return false;
}
return true;
}
public static void main(String args[]) {
ZipUtility file = new ZipUtility("D:\\Jack Rabbit Integration");
file.zipDirectory("D:\\Jack Rabbit Integration", "C:\\Jack Rabbit Integration-1.zip"); }
}
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipUtility {
private static String strMainPath = "";
public ZipUtility(String strPath) {
strMainPath = strPath;
strMainPath = strMainPath.replaceAll("\\\\", "/");
}
private static void addDirectory(ZipOutputStream zout, File fileSource) {
File[] files = fileSource.listFiles();
for (int i = 0; i < files.length; i++) {
try {
if (files[i].isDirectory()) {
addDirectory(zout, files[i]);
continue;
}
System.out.println("Adding file " + files[i].getName());
String strAppendPath = files[i].getPath().replaceAll("\\\\", "/");
strAppendPath = strAppendPath.split(strMainPath)[1];
if (strAppendPath.charAt(0) == '/') {
strAppendPath = strAppendPath.replaceFirst("/", "");
}
byte[] buffer = new byte[1024];
FileInputStream fin = new FileInputStream(files[i]);
zout.putNextEntry(new ZipEntry(strAppendPath));
int length;
while ((length = fin.read(buffer)) > 0) {
zout.write(buffer, 0, length);
}
zout.closeEntry();
fin.close();
} catch (IOException ioe) {
System.out.println("IOException :" + ioe);
}
}
}
public static boolean zipDirectory(String dir, String zipfile) throws IllegalArgumentException {
try {
dir.replaceAll("\\\\", "/");
zipfile.replaceAll("\\\\", "/");
FileOutputStream fout = new FileOutputStream(zipfile);
ZipOutputStream zout = new ZipOutputStream(fout);
File fileSource = new File(dir);
addDirectory(zout, fileSource);
zout.close();
System.out.println("Zip file has been created!");
} catch (IOException exception) {
System.out.println("There is an IoException Occured :" + exception);
exception.printStackTrace();
return false;
}
return true;
}
public static void main(String args[]) {
ZipUtility file = new ZipUtility("D:\\Jack Rabbit Integration");
file.zipDirectory("D:\\Jack Rabbit Integration", "C:\\Jack Rabbit Integration-1.zip"); }
}