Utworzono plik JAR. Teraz stworzyłem inny program w języku Java. Chcę rozpakować ten plik JAR w innym katalogu, co oznacza, że chcę zrobić coś w stylu rozpakowania.Jak napisać program w języku Java, który może wyodrębnić plik JAR i zapisać dane w określonym katalogu (lokalizacji)?
Jeśli biegnę jar -xf filename.jar
Powoduje to jakiś błąd:
Exception in thread "main" java.io.IOException: Cannot run program "jar":
java.io.IOException: error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
at java.lang.Runtime.exec(Runtime.java:593)`
Czy to nie działa dla nikogo innego? Wciąż dostaję wyrzucane FileNotFoundExceptions z tego powodu ..... – Flafla2
Ten sam problem dla mnie @ Flafla2. – MiJyn
@lkjoel Powodem, dla którego rzuca wyjątek jest to, że zasadniczo próbujesz napisać takie rzeczy jak "dest/folder1/plik1" zanim utworzysz "dest/folder1". Aby rozwiązać ten problem, polecam iterację z wyliczeniem JarEntry i przekształcenie go na listę, która jest posortowana na getName(). Size() (najmniej do największego). W ten sposób utworzysz wszystkie niezbędne katalogi przed uzyskaniem dostępu do ich plików/podkatalogów podrzędnych. – Destin