est ce que vous savez comment on dezippe un WAR
merci
si vous avez un code ou un lien n'hesitez pas
est ce que vous savez comment on dezippe un WAR
merci
si vous avez un code ou un lien n'hesitez pas
Salut,
Un WAR n'est rien d'autre qu'un simple fichier ZIP avec un autre extension... donc n'importe quel archiveur ZIP peut faire l'affaire...
Dans le pire des cas il faut changer l'extension...
a++
non pas depuis un archiveur mais par programmation
en fait j'aurais cru qu'on pouvait faire avec la commande
jar xf comme un jar en fait mais bon ca ne marche pas
d'ailleurs j'ai essayer avec un jar et ca ne marche pas non +
merci qd meme pour la reponse
PS
c vraiment un fichier zip ???
En Java tu peux utiliser la classe JarFile (ou même ZipFile)...
a++
c ce que je fais effectivement
mais la classe est assez limiter
tu peux recuperer chaque entree mais comment le sauvegarder apres ??
les extraire physiquement ??
Ce doit être possible avec la méthode getInputStream(ZipEntry)...Envoyé par yanagiba
a++
PS : pourquoi as-tu besoin de lire à l'intérieur d'un war ???
jar xf maWebApp.war fonctionne parfaitement
testé à l'instant avec jdk 1.4.2_05
oui mais est ce que je peux faire
Runtime.getRuntime().exec("java xf " + maWebApp.war );
j'ai essayer mais ca ne marche pas
c plutot jar que j'ai essaye et pas java
une question qui est peut etre bete
le runtime c koi le JRE ??
dans c cas la, la commande jar n'existe pas non ??
jar est une commande du JDK et non du JRE
Si tu utilise un JRE pour la lancer, ça ne marcheras effectivement pas
voila mon code pour dezipper le war pour ceux que ca interresse
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 public void unWARApplications(String directoryName) throws IOException { File cfg_dir = new File(directoryName); if (cfg_dir.isDirectory()) { String[] fileList = cfg_dir.list(new WarFilenameFilter()); for (int i = 0; i < fileList.length; i++) { System.out.println(DIRECTORY_PATH + "/" + fileList[i]); System.out.println(fileList[i]); ZipFile zipFile = new ZipFile(new File(DIRECTORY_PATH + fileList[i])); for (Enumeration enum = zipFile.entries(); enum.hasMoreElements();) { ZipEntry entry = (ZipEntry) enum.nextElement(); File entryFile = new File(DIRECTORY_PATH + "/" + entry.getName()); if (entry.isDirectory()) { entryFile.mkdir(); } else { copyInputStream(zipFile.getInputStream(entry), new BufferedOutputStream(new FileOutputStream(entryFile.getAbsolutePath()))); } } zipFile.close(); } System.out.println(fileList); } } private static final void copyInputStream(InputStream in, OutputStream out) throws IOException { byte[] buffer = new byte[1024]; int len; while((len = in.read(buffer)) >= 0) out.write(buffer, 0, len); in.close(); out.close(); }
Partager