2008-09-16 8 views
2

В настоящее время мне поручено обновить XML-файл (persistance.xml) в банке на сайте клиентов. Я могу, конечно, развязать файл, обновить xml, а затем переписать файл для перераспределения. Я хотел бы любезно использовать эти операции с командной строкой в ​​приложении Swing, чтобы человек, выполняющий его, не приходил в командную строку. Любые мысли о том, как сделать это программно?Измените xml-файлы в файле jar с помощью Java

ответ

6

API Java имеет classes для управления файлами JAR.

1

Вы можете использовать классы Java ZipFile и ZipEntry, чтобы прочитать содержимое файла JAR, затем используйте ZipOutputStream, чтобы создать новый.

3

Sure:

File tmp = new File ("tmp"); 
tmp.mkdirs(); 
Process unjar = new ProcessBuilder ("jar", "-xf", "myjar.jar", tmp.getName()).start(); 
unjar.waitFor(); 
// TODO read and update persistence.xml 
Process jar = new ProcessBuilder ("jar", "-cf", "myjar.jar", tmp.getName()).start(); 
jar.waitFor();