Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo "Freunde",

heute wieder kleines Problem. Wie kann ich eine Datei lesen mit Java, die sich in einem zip-Format befindet? ... Wie ist der Pfad? ... Ausgangslage ->

Ich versuche die Datei icc.conf mittels Pfad

C:/Program Files/jboss/jboss-4.0.3SP1/server/default/deploy/ticr.ear/conf/icc.conf

zu lesen ... aber diesen Pfad gibt es nicht ... wie kann ich drauf zugreifen? ... brauche den absolut, also nicht relativ .. .hat jemand eine Idee oder schon diesbezüglich Erfahrungen gemacht?

Gruß

Holger

Geschrieben

C:/Program Files/jboss/jboss-4.0.3SP1/server/default/deploy/ticr.ear/conf/icc.conf

nicht die ganze welt ist http://....

new java.util.zip.ZipFile("c:\\Program Files\\jboss\\jboss-4.0.3SP1\\server\\default\\deploy\\ticr.ear\\conf\\icc.conf

")

@kob: jo, seh ich auch gerade, er hat ja was gezipptes

Geschrieben

Wahrscheinlich ist das Problem nicht bei den Slashes zu suchen, sondern dabei, das das .ear ein gezipptes Archiv ist, oder?

Schau Dir mal das Package java.util.zip an, da sollte alles zu finden sein, was Du suchst.

Oder Du deployst als exploded archive, dann hast Du normale Verzeichnisse.

Peter

Geschrieben

Jo, mein Problem ist, dass sich die Config-Datei in einem ear-File befindet. Ich kenne das Package ZipFile ... weiß aber nicht ob nicht mit herkömmlicher Pfadangabe drauf zugegriffen werden kann ... denke aber eher nicht ... nun ... dann schaue ich mal, wie ich es mache ... eigentlich sollte man die da raus nehmen :) ... danke für eure Vorschläge

Geschrieben

Du bist wizig :D ... genau das ist doch mein Problem ... ich starte JBoss und das root-Verzeichnis ist /bin ... wenn ich jetzt im ear-File auf anderes File im ear-File zugreifen möchte ... wie mache ich das denn, relativ oder absolut ist egal .... der absolute Pfad ist ... siehe oben ... der relative Pfad wäre /conf/icc.conf .... wie kann ich das denn machen ... sollte aber doch gehen, denn bei einem WAR-File geht es doch auch (nur dass TOMCAT immer das WAR-File auspackt ... dann macht die Pfadangabe ja auch Sinn) ... ich jedenfalls habe bis jetzt keinen "Blassen".

Gruß

Holger

Geschrieben

Da die Klasse ZipFile als Parameter im Konstruktor ein File-Objekt erhalten kann, wirst du (klugerweise) selbiges erstmal instantiieren. Hierbei ist es so ziemlich egal, ob relative oder absolute Pfadangabe der Datei.

Anschließend übergibst du das File-Objekt beim Instantiieren dem ZipFile-Objekt.

könnte etwa so aussehen:

// ...

File deineEarDatei = new File("/conf/icc.conf");

ZipFile deineEarDateiAlsZip = new ZipFile(deineEarDatei);

// ...
Und schon fertig. Eigentlich kein Problem, oder? Um nun mit allen Dateien und Verzeichnissen, die sich in dem ZipFile befinden, arbeiten zu können, musst du die Einträge noch aus dem ZipFile "raus holen":
/ ...

Enumeration inhaltDeinerZipDatei = deineEarDateiAlsZip.entries();

// und nun mit dem Enumeration-Objekt weiter arbeiten ...

Kleiner Tipp am Rande: In der Java API Doc (einem Java-Entwickler sollte es die heiligste aller Schriften sein) stehen oft hilfreiche -mal ganz salopp ausgedrückt- "Dingens". Also mein ehrlicher Rat: Immer erst die API Doc lesen! Echt wichtig!

Hoffe das ist das, was grad dein Problem ist.

Geschrieben

@ar.sch.de

danke für den Tip mit der API, aber darum geht es mir nicht ... ich weiß doch, dass es das Package gibt, meine Ausgangsfrage war nur ob man das vermeiden kann und "herkömmlich" drauf zugreifen kann ... vielleicht geht es auch mit ClassLoader.getResource("conf/icc.conf"); ... ich wollte hier nur mal nachfragen, nicht dass ich hier das Package verwende und es dann wesentlich einfacher geht ... in der Regel schaue ich schon vorher in die API.

Gruß

Holger

Geschrieben

Moin "Freunde",

es gibt doch eine andere Möglichkeit ... wer hartnäckig ist :) ... ich habe es so gelöst:

URL url = ICC.class.getClassLoader().getResource("conf/icc.conf"); ... jetzt kann ich mit dem Stream (url.openStream()) ganz normal damit arbeiten und brauche nicht das Zip-Package zu benutzen ... danke nochmals für Eure Ratschläge.

Gruß

Holger

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...