Heim >Java >javaLernprogramm >Wie extrahiere ich den Inhalt einer JAR-Datei in ein bestimmtes Verzeichnis in Java?
Extrahieren von JAR-Dateiinhalten in ein bestimmtes Verzeichnis in Java
Jar-Dateien, die häufig zum Verpacken von Java-Anwendungen verwendet werden, werden in einem komprimierten Format verteilt . Um programmgesteuert effizient auf den Inhalt einer JAR-Datei zuzugreifen, ist es notwendig, diese zu extrahieren oder zu entpacken.
Befehlszeilenansatz: Fehlerbehebung für den jar -xf-Fehler
Versuch Das Entpacken einer JAR-Datei mit dem Befehl jar -xf Dateiname.jar führt möglicherweise zu der Fehlermeldung „Programm „jar“ kann nicht ausgeführt werden: java.io.IOException: Fehler=2, Datei oder Verzeichnis nicht vorhanden.“ Dieses Problem tritt auf, wenn sich die ausführbare JAR-Datei nicht im Systempfad befindet. Um das Problem zu beheben, stellen Sie sicher, dass die ausführbare JAR-Datei im aktuellen Pfad verfügbar ist, oder aktualisieren Sie den Systempfad entsprechend.
Programmatische Lösung
Um den Inhalt einer JAR-Datei zu extrahieren Programmgesteuert können Sie die folgenden zwei Ansätze anwenden:
<code class="java">java.util.jar.JarFile jar = new java.util.jar.JarFile(jarFile); java.util.Enumeration enumEntries = jar.entries(); while (enumEntries.hasMoreElements()) { java.util.jar.JarEntry file = (java.util.jar.JarEntry) enumEntries.nextElement(); java.io.File f = new java.io.File(destDir + java.io.File.separator + file.getName()); if (file.isDirectory()) { // if its a directory, create it f.mkdir(); continue; } java.io.InputStream is = jar.getInputStream(file); // get the input stream java.io.FileOutputStream fos = new java.io.FileOutputStream(f); while (is.available() > 0) { // write contents of 'is' to 'fos' fos.write(is.read()); } fos.close(); is.close(); } jar.close();</code>
Fazit
Durch die Implementierung der oben genannten Lösungen können Sie den Inhalt einer JAR-Datei nahtlos in ein bestimmtes Verzeichnis innerhalb Ihrer Java-Anwendungen extrahieren.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich den Inhalt einer JAR-Datei in ein bestimmtes Verzeichnis in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!