C'est ma méthode qui compresse le fichier dans une archive:Comment verrouiller le fichier pour un autre fils
public void addFilesToArchive(File source, File destination) throws
IOException, ArchiveException {
try (FileOutputStream archiveStream = new FileOutputStream(destination);
ArchiveOutputStream archive = new ArchiveStreamFactory()
.createArchiveOutputStream(getType(), archiveStream)) {
updateSourceFolder(source);
generateFileAndFolderList(source);
for (String entryName : fileList) {
ArchiveEntry entry = getEntry(entryName);
archive.putArchiveEntry(entry);
archive.closeArchiveEntry();
}
}
}
FILELIST conatains tous la hiérarchie des fichiers (dossier et fichiers)
Je veux éviter la compression de différents fils dans une destination en même temps.
Essayez d'utiliser:
FileChannel channel = archiveStream.getChannel();
channel.lock();
mais il ne semble pas être utile. Comment puis-je résoudre ce problème?