Dossier à zipper qui est verrouillé
bonjour,
dans filemaker un plugin me permet d'executer du groovy
mon objectif est de zipper un dossier et toute son arborescence, fichiers et sous dossiers compris, puis de supprimer le dossier original
seulement le quand j'execute le code suivant, le dossier original est verrouillé et je ne peux donc le supprimer.
ma question est comment le déverrouiller et le supprimer dans le même code ?
j'ai rajouté zipout.closeEntry() mais sans succès
j'utilise le code suivant
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 26 27 28 29 30 31 32 33 34 35 36 37 38
| // ZipDir ( fm_dirIn ; fm_fileOut )
// 10_12_23_JR WORKING
// v1.0
// adds all of tree from starting directory to zip file
// adapted from Solomon Duskis, http://www.jroller.com
// without diacriticals chars (accents) in path name
import java.io.File
import java.io.FileInputStream
import java.io.FileOutputStream
import java.util.zip.ZipEntry
import java.util.zip.ZipOutputStream
try {
topDir = new File(fm_dirIn)
zipOut = new ZipOutputStream ( new FileOutputStream(fm_fileOut) );
topDirLength = topDir.absolutePath.length()
topDir.eachFileRecurse{ file ->
relPath = file.absolutePath.substring(topDirLength).replace('\\', '/')
if ( file.isDirectory() && !relPath.endsWith('/')){
relPath += "/"
}
entry = new ZipEntry(relPath)
entry.time = file.lastModified()
zipOut.putNextEntry(entry)
if( file.isFile() ){
zipOut << new FileInputStream(file)
zipOut.closeEntry()
}
}
zipOut.close()
} catch (Exception e) {
e.printStackTrace()
}
return true |