[commons-compress] muti volume.
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:
Code:
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();
}
}
} |
mais comment faire pour spliter mon gros fichier de 1 Go en plusieurs de 10 Mo. Pour info j'utilise la librairy commons-compress.
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.