From ad0e5f090f96e8ffbda1aa51128858b9ed122751 Mon Sep 17 00:00:00 2001 From: yann Date: Wed, 16 Dec 2020 19:23:55 +0100 Subject: [PATCH] modif DataCsv.java et repertoir test --- src/main/java/fr/myny/data/DataCsv.java | 68 +++++++++++++++++++++ src/main/java/fr/myny/data/ImportData.java | 29 +++++++++ src/test/java/fr/myny/data/DataCsvTest.java | 12 ++++ 3 files changed, 109 insertions(+) create mode 100644 src/main/java/fr/myny/data/DataCsv.java create mode 100644 src/main/java/fr/myny/data/ImportData.java create mode 100644 src/test/java/fr/myny/data/DataCsvTest.java diff --git a/src/main/java/fr/myny/data/DataCsv.java b/src/main/java/fr/myny/data/DataCsv.java new file mode 100644 index 0000000..297d439 --- /dev/null +++ b/src/main/java/fr/myny/data/DataCsv.java @@ -0,0 +1,68 @@ +package fr.myny.data; + +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; + +public class DataCsv { + /** + * Le constructeur de DataCsv + */ + public DataCsv(){ + + } + + /** + * La methode de recuperation dun fichier csv + */ + public void getCsv() throws IOException{ + String fileZip = "src/main/java/resources/loto_201911.zip"; + File desDir = new File("src/main/java/resources/"); + byte[] buffer = new byte[1024]; + ZipInputStream zis = new ZipInputStream(new FileInputStream(fileZip)); + ZipEntry zipEntry = zis.getNextEntry(); + while (zipEntry != null){ + File newFile = newFile(desDir, zipEntry); + if (zipEntry.isDirectory()){ + if (!newFile.isDirectory() && !newFile.mkdirs()){ + throw new IOException("Failed to create directory " + newFile); + } + } else{ + File parent = newFile.getParentFile(); + if (!parent.isDirectory() && !parent.mkdirs()) { + throw new IOException("Failed to create directory " + parent); + } + + 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(); + } + + /** + * Methode d'extraction de fichier zip + */ + public 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; + } + +} diff --git a/src/main/java/fr/myny/data/ImportData.java b/src/main/java/fr/myny/data/ImportData.java new file mode 100644 index 0000000..41a028a --- /dev/null +++ b/src/main/java/fr/myny/data/ImportData.java @@ -0,0 +1,29 @@ +package fr.myny.data; + +public class ImportData { + String url; + + /** + * Le constructeur de ImportData + */ + public ImportData(){ + + } + /** + * Le constructeur de ImportData + * @param url string contenant l URL dou recuperer les fichiers csv + */ + public ImportData(String url){ + this.url=url; + } + + /** + * La methode de recuperation de l URL + */ + public void getUrl(){ + } + + public void unzip() { + + } +} diff --git a/src/test/java/fr/myny/data/DataCsvTest.java b/src/test/java/fr/myny/data/DataCsvTest.java new file mode 100644 index 0000000..0d240f3 --- /dev/null +++ b/src/test/java/fr/myny/data/DataCsvTest.java @@ -0,0 +1,12 @@ +package fr.myny.data; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; +class DataCsvTest { + + @Test + void getCsv() { + + } +} \ No newline at end of file