From 21b0e461d272751b3d6c2721395bf6375b41c5b3 Mon Sep 17 00:00:00 2001
From: Kenmegne <stephanie.kenmegne@gmail.com>
Date: Fri, 19 Jun 2026 11:35:30 +0000
Subject: [PATCH] move to new repo
---
moteur-zip-megatim/src/main/java/com/megatim/module/compression/impl/JavaZipGZLIBImpl.java | 381 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 381 insertions(+), 0 deletions(-)
diff --git a/moteur-zip-megatim/src/main/java/com/megatim/module/compression/impl/JavaZipGZLIBImpl.java b/moteur-zip-megatim/src/main/java/com/megatim/module/compression/impl/JavaZipGZLIBImpl.java
new file mode 100644
index 0000000..eb06648
--- /dev/null
+++ b/moteur-zip-megatim/src/main/java/com/megatim/module/compression/impl/JavaZipGZLIBImpl.java
@@ -0,0 +1,381 @@
+package com.megatim.module.compression.impl;
+
+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.ZipInputStream;
+import java.util.zip.ZipOutputStream;
+
+import com.megatim.module.compression.ifaces.CompressionFace;
+
+/**
+ * Classe implementant l'algorithme GZLIB
+ *
+ * @author derteuffel
+ *
+ */
+public class JavaZipGZLIBImpl implements CompressionFace {
+
+ // Zip file
+ public File zipFile(File fichierAZipper) throws IOException {
+ // TODO Auto-generated method stub
+
+ String sourceFile = fichierAZipper.getAbsolutePath();
+
+ System.out.println(sourceFile);
+
+ // initialisation du fichier zipper avec retrai de l'extencion
+ FileOutputStream fos = new FileOutputStream(removeExtension(sourceFile) + ".zip");
+
+ ZipOutputStream zipOut = new ZipOutputStream(fos);
+
+ File fileToZip = new File(sourceFile);
+
+ FileInputStream fis = new FileInputStream(fileToZip);
+
+ ZipEntry zipEntry = new ZipEntry(fileToZip.getName());
+
+ zipOut.putNextEntry(zipEntry);
+
+ byte[] bytes = new byte[1024];
+
+ int length;
+
+ while ((length = fis.read(bytes)) >= 0) {
+
+ zipOut.write(bytes, 0, length);
+
+ }
+
+ zipOut.close();
+
+ fis.close();
+
+ fos.close();
+
+ System.out.println("Zippage terminer");
+
+ return fileToZip;
+ }
+
+ public File zipFile(File fichierAZipper, File repertoireDestination) throws IOException {
+ return null;
+ }
+
+ // Zip directory
+ public File zipRepository(File repertoireAZipper) throws IOException {
+ // TODO Auto-generated method stub
+
+ // Charger le chemin du repertoir a zipper
+ String sourceFile = repertoireAZipper.getAbsolutePath();
+
+ // initialisation du nom du repertoir zipper
+ FileOutputStream fos = new FileOutputStream(sourceFile + ".zip");
+
+ ZipOutputStream zipOut = new ZipOutputStream(fos);
+
+ File fileToZip = new File(sourceFile);
+
+ zipFile(fileToZip, fileToZip.getName(), zipOut);
+
+ zipOut.close();
+
+ fos.close();
+
+ return fileToZip;
+ }
+
+ public File zipRepository(File repertoireAZipper, File repertoireDestination) throws IOException {
+ return null;
+ }
+
+ // Dezipper un fichier zipper
+ public void unZipFile(File fichierZipper, File repertoireSorti) throws IOException {
+ // TODO Auto-generated method stub
+
+ //Initialisation du chemin du fichier zipper a dezipper
+ String fileZip = fichierZipper.getAbsolutePath();
+
+ // Initialisation du chemin destination du fichier zipper a dezipper
+ File destDir = new File(repertoireSorti.getAbsolutePath());
+
+ if (destDir.mkdirs()) {
+ System.out.println("Repertoi de sorti creer");
+ } else {
+ System.out.println("Repertoir de sorti existant");
+ }
+
+ byte[] buffer = new byte[1024];
+
+ ZipInputStream zis = new ZipInputStream(new FileInputStream(fileZip));
+
+ ZipEntry zipEntry = zis.getNextEntry();
+
+ while (zipEntry != null) {
+
+ File newFile = newFile(destDir, zipEntry);
+
+ // Test si le fichier contenu est un repertoir ou un fichier
+ if (zipEntry.isDirectory()) {
+
+ if (!newFile.isDirectory() && !newFile.mkdirs()) {
+
+ throw new IOException("Failed to create directory " + newFile);
+
+ }
+
+ } else {
+ // fix for Windows-created archives
+ File parent = newFile.getParentFile();
+
+ if (!parent.isDirectory() && !parent.mkdirs()) {
+
+ throw new IOException("Failed to create directory " + parent);
+
+ }
+
+ // write file content
+ FileOutputStream fos = new FileOutputStream(newFile);
+
+ int len;
+
+ while ((len = zis.read(buffer)) > 0) {
+
+ fos.write(buffer, 0, len);
+
+ }
+
+ fos.close();
+
+ }
+
+ zipEntry = zis.getNextEntry();
+
+ }
+
+ zis.closeEntry();
+
+ zis.close();
+
+ }
+
+ // Dezipper un repertoir
+ public void unZipRepository(File repertoireZipper, File repertoireSorti) throws IOException {
+ // TODO Auto-generated method stub
+
+ //Initialisation du chemin du fichier zipper a dezipper
+ String fileZip = repertoireZipper.getAbsolutePath();
+
+ // Initialisation du chemin destination du fichier zipper a dezipper
+ File destDir = new File(repertoireSorti.getAbsolutePath());
+
+ if (destDir.mkdirs()) {
+ System.out.println("Repertoi de sorti creer");
+ } else {
+ System.out.println("Repertoir de sorti existant");
+ }
+
+ byte[] buffer = new byte[1024];
+
+ ZipInputStream zis = new ZipInputStream(new FileInputStream(fileZip));
+
+ ZipEntry zipEntry = zis.getNextEntry();
+
+ while (zipEntry != null) {
+
+ File newFile = newFile(destDir, zipEntry);
+
+ // Test si le fichier contenu est un repertoir ou un fichier
+ if (zipEntry.isDirectory()) {
+
+ if (!newFile.isDirectory() && !newFile.mkdirs()) {
+
+ throw new IOException("Failed to create directory " + newFile);
+
+ }
+
+ } else {
+ // fix for Windows-created archives
+ File parent = newFile.getParentFile();
+
+ if (!parent.isDirectory() && !parent.mkdirs()) {
+
+ throw new IOException("Failed to create directory " + parent);
+
+ }
+
+ // write file content
+ FileOutputStream fos = new FileOutputStream(newFile);
+
+ int len;
+
+ while ((len = zis.read(buffer)) > 0) {
+
+ fos.write(buffer, 0, len);
+
+ }
+
+ fos.close();
+
+ }
+
+ zipEntry = zis.getNextEntry();
+
+ }
+
+ zis.closeEntry();
+
+ zis.close();
+
+ }
+
+ public void addFile(File fichier, File zipFile) throws Exception {
+ // TODO Auto-generated method stub
+
+ }
+
+ // Add repository to existed zip file
+ public void addRepository(File repository, File zipFile) throws Exception {
+ // TODO Auto-generated method stub
+
+ }
+
+ // Zip file with password
+ public File zipFile(File fichierAZipper, String password) throws Exception {
+ // TODO Auto-generated method stub
+
+ return null;
+ }
+
+ // Zip directory with passwor
+ public File zipRepository(File repertoireAZipper, String password) throws Exception {
+ // TODO Auto-generated method stub
+
+ return null;
+
+ }
+
+ // dezippage d'un fichier zipper
+ public void unZipFile(File fichierZipper, File repertoireSorti, String password) throws Exception {
+ // TODO Auto-generated method stub
+
+ }
+
+ // Dezipper un repertoire
+ public void unZipRepository(File repertoireZipper, File repertoireSorti, String password) throws Exception {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addFile(File fichier, File zipFile, String password) throws Exception {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addRepository(File repository, File zipFile, String password) throws Exception {
+ // TODO Auto-generated method stub
+
+ }
+
+ // Remove extension before zip file
+ public static String removeExtension(String s) {
+
+ String separator = System.getProperty("file.separator");
+
+ String filename;
+
+ // Remove the path upto the filename.
+ /*
+ * int lastSeparatorIndex = s.lastIndexOf(separator); if (lastSeparatorIndex ==
+ * -1) { filename = s; } else { filename = s.substring(lastSeparatorIndex + 1);
+ * }
+ */
+ // Remove the extension.
+ int extensionIndex = s.lastIndexOf(".");
+
+ if (extensionIndex == -1) {
+ return s;
+ }
+
+ return s.substring(0, extensionIndex);
+ }
+
+ // create directory and check if there are many contained files
+ private static void zipFile(File fileToZip, String fileName, ZipOutputStream zipOut) throws IOException {
+
+ if (fileToZip.isHidden()) {
+
+ return;
+
+ }
+
+ if (fileToZip.isDirectory()) {
+
+ if (fileName.endsWith("/")) {
+
+ zipOut.putNextEntry(new ZipEntry(fileName));
+
+ zipOut.closeEntry();
+
+ } else {
+
+ zipOut.putNextEntry(new ZipEntry(fileName + "/"));
+
+ zipOut.closeEntry();
+
+ }
+ File[] children = fileToZip.listFiles();
+
+ for (File childFile : children) {
+
+ zipFile(childFile, fileName + "/" + childFile.getName(), zipOut);
+
+ }
+
+ return;
+
+ }
+
+ FileInputStream fis = new FileInputStream(fileToZip);
+
+ ZipEntry zipEntry = new ZipEntry(fileName);
+
+ zipOut.putNextEntry(zipEntry);
+
+ byte[] bytes = new byte[1024];
+
+ int length;
+
+ while ((length = fis.read(bytes)) >= 0) {
+
+ zipOut.write(bytes, 0, length);
+
+ }
+
+ fis.close();
+ }
+
+ // Create new file after unzip
+ public static File newFile(File destinationDir, ZipEntry zipEntry) throws IOException {
+
+ File destFile = new File(destinationDir, zipEntry.getName());
+
+ String destDirPath = destinationDir.getCanonicalPath();
+
+ String destFilePath = destFile.getCanonicalPath();
+
+ if (!destFilePath.startsWith(destDirPath + File.separator)) {
+
+ throw new IOException("Entry is outside of the target dir: " + zipEntry.getName());
+
+ }
+
+ return destFile;
+ }
+
+ public File zipFile(File fichierAZipper,File repertoireDestination, String password) throws IOException {
+ return null;
+ }
+}
--
Gitblit v1.10.0