getClass().getResourceAsStream als File ?

  • Themenstarter Themenstarter vip3r-de
  • Beginndatum Beginndatum
Hallo, ich habe genau das selbe Problem.
Hat denn schon einer eine Lösung?

Mein Poroblem ist:

Shapefile sf = new Shapefile(file);
sf.loadShapes(file)

ich kann dem Shapefile Objekt nur ein File übergeben. Keine Stream etc.
Und beim Ausführen der jar krieg ich die FileNotFound Exception

LG Andreas
 
Zuletzt bearbeitet:
Hallo,

schau mal hier:
Java:
package de.tutorials;

import java.io.File;
import java.net.URL;

public class GetResourceExample {
	public static void main(String[] args) throws Exception {
		URL url = GetResourceExample.class.getClass().getResource("/META-INF/persistence.xml");
		System.out.println(url);

		File file = new File(url.toURI());
		System.out.println(file);

	}
}

Gruß Tom
 
Hallo Tom,
danke für deinen Versuch aber sobald ich die kompillierte Jar-Datei starte erhalte ich folgene exception:

Code:
java.lang.IllegalArgumentException: URI is not hierarchical
        at java.io.File.<init>(Unknown Source)
        at fast.gui.Action.windowOpened(Action.java:272)
        at java.awt.Window.processWindowEvent(Unknown Source)
        at javax.swing.JFrame.processWindowEvent(Unknown Source)
        at java.awt.Window.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

LG Andreas
 
die Datei liegt innerhalb der Jar File. Andernfalls hätte ich ja kein wirkliches Problem Problem.
Wenn ich das Programm aus dem editor (eclipse, netbeans) starte gibt es keinerlei Probleme. Nur beim starten der compillierten jar.

Was ich machen könnte wäre den Stream aus der getResource() zu holen und dann eine temopräre Datei auf die Festplatte schreiben und mit dieser Datei arbeiten.
Diese Lösung finde ich aber etwas "bescheiden".

LG Andreas

edit:

Das ist meine URI
Code:
jar:file:/C:/f.jar!/fast/res/world.dbf
 
Zuletzt bearbeitet:
Zurück