Verzeichnis rekursiv aus JAR-Datei extrahieren

Status
Nicht offen für weitere Antworten.
K

Konrad

Gast
hallo

also ich kann schon dateien aus dem jar-file extrahieren:

Code:
import java.io.*;

public class FileExtractor
{
    public static void extractFile(String resource, File outFile)
    {
        BufferedInputStream in=null;
        BufferedOutputStream out=null;
        
        try {
            in=new BufferedInputStream(FileExtractor.class.getResourceAsStream(resource));
            out=new BufferedOutputStream(new FileOutputStream(outFile));
            
            int zeichen=in.read();
            while (zeichen != -1) {
                out.write(zeichen);
                zeichen=in.read();
            }
            
        } catch (IOException e) {
            System.out.println(e);
        } finally {
            try { in.close(); } catch (IOException e) {}
            try { out.close(); } catch (IOException e) {}
        }
    }
}

aber ich hab keine ahnung, wie ich abfragen kann, ob der übergebene String ein ordner ist oder nich :-(((

geschweige denn diesen, falls es einer ist, rekursiv zu kopieren...

ich hoffe da kann mir einer helfen :)
 
K

Konrad

Gast
edit: ne resource in ein file-object tät ja schon helfen, aber das geht afaik net :(
 

HoaX

Top Contributor
da musst du ZipFile benutzen.

btw ist es unperformant zeichen für zeichen den stream zu lesen und zu schreiben, nimm lieber nen array mit ein 16k oder so.
 
G

Guest

Gast
danke für die antwort, ich werde mir das mit dem ZipFile mal anguggen

@performance: deswegen benutze ich ja nen BufferedInputStream bzw. BufferedOutputStream und geschrieben wird sowieso nur außerhalb der jar-datei
den gibt es doch extra dafür oder?
 

HoaX

Top Contributor
wenn ob die bedingung 30000mal ausgeführt wird oder 2 mal wenn du nen buffer mit 16k hast macht das auch mit bufferedoutputstream n unterschied.
 

Konrad

Mitglied
also das mit dem ZipFile hat sehr gut funktioniert (obwohl ich hab eigentlich JarFile genommen - aber das is ja eh - hauptsächlich - kosmetik)

danke dafür

@performance: ich denke ich werde die BufferedOutputStreams beibehalten, da ich beim entpacken sowieso keinen zeitverlust spüre ;) (es sind knapp 30 200kb-bilder - also wayne)
 

The_S

Top Contributor
Zum kopieren kannste einfach die Methode FileChannel#transferTo verwenden. Das sollte Performance-technisch nicht so einfach zu überbieten sein und ist zudem noch viel einfacher angewand :)

http://java.sun.com/j2se/1.5.0/docs/api/java/nio/channels/FileChannel.html#transferTo(long,%20long,%20java.nio.channels.WritableByteChannel)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Verzeichnis schreibzugriffe erlaubt unabhängig von ACL und Posix Allgemeine Java-Themen 11
T Geeignetes Verzeichnis Allgemeine Java-Themen 5
P Wofür ist das Verzeichnis $HOME/.oracle_jre_usage? Allgemeine Java-Themen 3
M Dateien aus einem Verzeichnis auf einem Server auflisten Allgemeine Java-Themen 5
K NetBeans Ordner bei 'Clean&Build' automatisch in dist Verzeichnis kopieren Allgemeine Java-Themen 0
C Verzeichnis ins JMenu einlesen Allgemeine Java-Themen 2
A Class Datei aus Verzeichnis über URLClassLoader laden Allgemeine Java-Themen 2
C Umgebungsvariable Java-Datei in anderem Verzeichnis ausführen Allgemeine Java-Themen 2
K [Refactoring] ClassLoader Verzeichnis durchsuchen lassen Allgemeine Java-Themen 7
R Welches User-Verzeichnis wählen für Configurationsdateien - Windows Allgemeine Java-Themen 2
R Änderungen in einem Verzeichnis beobachten - Windows Allgemeine Java-Themen 3
S Aus executable jar Verzeichnis erstellen Allgemeine Java-Themen 8
reibi Leeres Verzeichnis in ein Zipfile einfügen Allgemeine Java-Themen 12
reibi Schreibrechte auf ein Verzeichnis Allgemeine Java-Themen 3
G Log4J Verzeichnis der Log-Datei konfigurieren Allgemeine Java-Themen 8
A Drucken ändert aktuelles Verzeichnis Allgemeine Java-Themen 2
reibi Aktuelles Verzeichnis in den Klassenpfad nehmen Allgemeine Java-Themen 9
T Eclipse Dateien einzeln aus einem Verzeichnis laden! Allgemeine Java-Themen 6
B ObjectOutputStream verzeichnis wählen Allgemeine Java-Themen 8
Benji0815 Verzeichnis wie im Windows Explorer in einem JTree anzeigen Allgemeine Java-Themen 6
L Applet Verzeichnis lesen Allgemeine Java-Themen 3
B Verzeichnis durchsuchen geschwindigkeit optimieren Allgemeine Java-Themen 6
B in welchem verzeichnis liegen alle installierten klassen? Allgemeine Java-Themen 6
G Klassen aus Verzeichnis laden Allgemeine Java-Themen 13
S Aktuelles Verzeichnis - CMD/Kommandozeilenproblem Allgemeine Java-Themen 9
G Zwischen Datei und Verzeichnis unterscheiden. Allgemeine Java-Themen 11
C Velocity liest template-Dateien nicht aus einem Verzeichnis Allgemeine Java-Themen 3
heart_disease Verzeichnis-Probleme mit ZIP Allgemeine Java-Themen 4
M Verzeichnis durchlaufen und Dateien umbennen Allgemeine Java-Themen 2
P Verzeichnis in JAR-Datei durchgehen Allgemeine Java-Themen 2
G Dateien und Verzeichnisse in einem Verzeichnis zählen Allgemeine Java-Themen 9
W Verzeichnis für Benutzerfiles Allgemeine Java-Themen 7
S Ist File ein root-Verzeichnis? Allgemeine Java-Themen 2
J Herangehensweise: FTP-Transfer von Verzeichnis Allgemeine Java-Themen 8
G Java Klasse in einem anderen Verzeichnis aufrufen Allgemeine Java-Themen 3
H mit javac Verzeichnis kompilieren Allgemeine Java-Themen 2
E Existierendes Verzeichnis nicht gefunden Allgemeine Java-Themen 4
M Verzeichnis auslesen - Fehler in isDirectory()? Allgemeine Java-Themen 4
F Verzeichnis, in dem sich die ausführende jar Datei befindet Allgemeine Java-Themen 9
O Ein Verzeichnis aus der Root ablesen/Dateitypen registrieren Allgemeine Java-Themen 5
P Verzeichnis auwählen Allgemeine Java-Themen 2
S Starten einer Anwendung von einem anderen Verzeichnis Allgemeine Java-Themen 3
P Mit getResource() ein ganzes Verzeichnis laden Allgemeine Java-Themen 5
T Verzeichnis der Klasse Allgemeine Java-Themen 7
J Verzeichnis aus meinem JAR auslesen und abspeichern. Allgemeine Java-Themen 2
G Verzeichnis löschen? Allgemeine Java-Themen 3
W Aktuelles Verzeichnis rausfinden Allgemeine Java-Themen 13
S Probleme mit dem Compilieren von Dateien in Verzeichnis Allgemeine Java-Themen 4
G Dateien zählen im Verzeichnis Allgemeine Java-Themen 11
G aktuelles Verzeichnis Allgemeine Java-Themen 2
A Verzeichnis auflisten - auch innerhalb eines Jars Allgemeine Java-Themen 6
G Verzeichnis überwachen Allgemeine Java-Themen 13
S Temporäres Verzeichnis anlegen? Allgemeine Java-Themen 4
G Java Runtime Verzeichnis ermitteln Allgemeine Java-Themen 3
S dringend-verzeichnis von festplatte einlesen Allgemeine Java-Themen 9
P Dateinamen testen? Schreibrechte auf Verzeichnis testen? Allgemeine Java-Themen 8
M Verzeichnis verschieben? Allgemeine Java-Themen 2
G Bestimmte Dateien aus Verzeichnis löschen Allgemeine Java-Themen 5
S Programm starten mit Runtime aktuelles Verzeichnis wechseln Allgemeine Java-Themen 7
M Wie könnte man den Codeschnipsel rekursiv darstellen? Allgemeine Java-Themen 1
M Endrekursiv vs Rekursiv Allgemeine Java-Themen 4
Aboya Kugel mit Hilfe von Dreiecken rekursiv zeichnen Allgemeine Java-Themen 2
Aboya Char Array rekursiv vergleichen Allgemeine Java-Themen 15
H Heron Verfahren Tail-rekursiv lösen Allgemeine Java-Themen 7
Kingamadeus2000 Alle mehrfach vorkommenden Buchstaben rekursiv aus einem String entfernen. Allgemeine Java-Themen 6
I Diskussion zu: Tribonacci Folge Rekursiv Allgemeine Java-Themen 15
R Warum ist die Methode unendlich oft rekursiv? Allgemeine Java-Themen 5
D 2,3-Baum rekursiv erstellen Allgemeine Java-Themen 20
denny86 NetBeans Ordnernamen rekursiv auslesen und in Variable verarbeiten Allgemeine Java-Themen 38
B Primfaktorzerlegung Rekursiv Allgemeine Java-Themen 2
B Primzahltest rekursiv Allgemeine Java-Themen 15
S Verkettete (Teil)Liste sortieren ( rekursiv bis n) Allgemeine Java-Themen 2
L Alle möglichen Additionen (Rekursiv) Allgemeine Java-Themen 3
N Rekursiv Höhe Baum Allgemeine Java-Themen 3
H Vektor rekursiv erzeugen Allgemeine Java-Themen 2
J Breitensuche in Graph rekursiv Allgemeine Java-Themen 2
E ordner rekursiv durchsuchen Allgemeine Java-Themen 6
E Ordner rekursiv kopieren Allgemeine Java-Themen 8
R synchronized methode rekursiv aufrufen Allgemeine Java-Themen 5
S MergeSort iterativ und rekursiv? Allgemeine Java-Themen 8
G Array rekursiv durchlaufen Allgemeine Java-Themen 2
S JAVA JTree rekursiv umschreiben Allgemeine Java-Themen 5
leifg Rekursiv mit Threads Programmieren Allgemeine Java-Themen 2
sparrow Ant build-files rekursiv aus ant aufrufen Allgemeine Java-Themen 3
K zinsen rekursiv/iterativ Allgemeine Java-Themen 17
F Filelisting iterativ, nicht rekursiv Allgemeine Java-Themen 7
L Spielerei: Frame rekursiv darstellen Allgemeine Java-Themen 3
M Rekursiv Verzeichnisse ansehen und auf Muster matchen Allgemeine Java-Themen 6
kodela StatusBar-Anzeigen auch in Log-Datei ausgeben Allgemeine Java-Themen 3
G Maven Projekt JAR-Datei Allgemeine Java-Themen 6
E XML - Datei Darstellung in IntelliJ als Baum Allgemeine Java-Themen 2
Thomasneuling Java Jar datei erstellen, von Projekt, dass auch Javafx Dateien, FXML Dateien und CSS Dateien, sowie Bilder enthält? Allgemeine Java-Themen 14
D Erste Schritte Mp3 Datei kann nicht von der Festplatte geöffnet werden - mit ChatGPT erstellt Allgemeine Java-Themen 7
J Filenotfoundexception obwohl Datei existiert Allgemeine Java-Themen 6
M Java Überprüfen ob .exe-Datei bereits ausgeführt wird Allgemeine Java-Themen 2
S .exe Datei/Programm auslesen? Allgemeine Java-Themen 2
E Datei verschoben Event Allgemeine Java-Themen 3
D Datei mit "Kohsuke GitHub API" in Repository hochladen Allgemeine Java-Themen 2
S Bookmark HTML Datei einlesen, alle Links erhalten und manche editieren..? (aktuell JSoup) Allgemeine Java-Themen 4
melaniemueller Einzelne Zeile aus einer txt Datei in einem String speichern Allgemeine Java-Themen 12

Ähnliche Java Themen

Neue Themen


Oben