1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
|
public class Compressor extends JFrame {
public static String choosenRate = "Nul";
public static String type;
public static String getName = "Dossier ou fichier compressé";
public static String zipPath;
public static String srcPath;
public static boolean srcModified = false;
public static boolean zipModified = false;
public void compressFile(String name , String zipFile , String srcDir , String rateEntry) {
File zip = new File(zipFile + "/" + name + ".zip");
try {
try {
zip.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
byte[] buffer = new byte[8192];
File dir = new File(srcDir);
FileOutputStream fos = new FileOutputStream(zip);
ZipOutputStream zos = new ZipOutputStream(fos);
switch (rateEntry) {
case "Nul":
zos.setLevel(ZipOutputStream.STORED);
break;
case "Faible":
zos.setLevel(3);
break;
case "Moyen":
zos.setLevel(6);
break;
case "Elevé":
zos.setLevel(9);
break;
}
try{
FileInputStream fis = new FileInputStream(srcDir);
int length;
System.out.println(srcDir);
zos.putNextEntry(new ZipEntry(dir.getName()));
while ((length = fis.read(buffer)) > 0) {
zos.write(buffer, 0, length);
}
zos.closeEntry();
fis.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
zos.close();
} catch (IOException ioe) {
ioe.printStackTrace();
} catch (IllegalArgumentException iae) {
iae.printStackTrace();
}
}
public void zipProcess(String name , String zipFile , String srcDir , String rateEntry ) {
File zip = new File(zipFile + "/" + name + ".zip");
try {
try {
zip.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
byte[] buffer = new byte[1024];
File dir = new File(srcDir);
List<File> filesList = (List<File>) FileUtils.listFilesAndDirs(dir, TrueFileFilter.INSTANCE, TrueFileFilter.INSTANCE);
File[] files = filesList.toArray(new File[filesList.size()]);
FileOutputStream fos = new FileOutputStream(zip);
ZipOutputStream zos = new ZipOutputStream(fos);
switch (rateEntry) {
case "Nul":
zos.setLevel(ZipOutputStream.STORED);
break;
case "Faible":
zos.setLevel(3);
break;
case "Moyen":
zos.setLevel(6);
break;
case "Elevé":
zos.setLevel(9);
break;
}
for (int i = 0; i < files.length; i++) {
try{
if (files[i].isDirectory()) {
} else {
FileInputStream fis = new FileInputStream(files[i]);
int length;
String filePath = files[i].getAbsolutePath().substring(srcDir.length() + 1);
System.out.println(filePath);
zos.putNextEntry(new ZipEntry(filePath));
while ((length = fis.read(buffer)) > 0) {
zos.write(buffer, 0, length);
}
zos.closeEntry();
fis.close();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
zos.close();
} catch (IOException ioe) {
ioe.printStackTrace();
} catch (IllegalArgumentException iae) {
iae.printStackTrace();
}
}
... |
Partager