Bonjour les amis !
Voila je cherche à compresser un fichier en plusieurs partie à la manière 7-zip (ou autre)
Pour la compression pas de problème:
mais comment faire pour spliter mon gros fichier de 1 Go en plusieurs de 10 Mo. Pour info j'utilise la librairy commons-compress.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ArchiveOutputStream aos = null; try { File file = new File("k:/bigfile.txt"); InputStream is = new FileInputStream(file); OutputStream out = new FileOutputStream("k:/test.zip"); aos = new ArchiveStreamFactory().createArchiveOutputStream(ArchiveStreamFactory.ZIP, out); ZipArchiveEntry zae = new ZipArchiveEntry(file, file.getName()); aos.putArchiveEntry(zae); IOUtils.copy(is, aos); aos.closeArchiveEntry(); } catch (Exception e) { e.printStackTrace(); } finally { if (aos != null) { try { aos.close(); } catch (IOException e) { e.printStackTrace(); } } }
Le but est que les fichiers de 10Mo puissent aussi être regrouper via des outils externes comme 7-zip.
Est ce que je dois faire le split moi meme, c'est à dire que lorsque mon flux (en ecriture) vaut 10Mo, il faut en créer un autre ?
Celestin.
Partager