2016-11-17 3 views
-1

Also schrieb ich eine kleine Anwendung, die eine Zeichenfolge verwendet, die einen Dateipfad darstellt, so dass ich eine Datei und dann ein gepuffertes Image erstellen kann. Ich habe für dieses Beispiel irrelevant Code weggelassen:Datei kann nicht mit derselben URL und derselben Dateistruktur auf einem anderen Computer gelesen werden

public class MorphImage { 
private final String URL0 = "pic1.jpg"; 

//.... 

URL url = getClass().getResource(URL0); 
File file = new File(url.getPath()); 
BufferedImage img = ImageIO.read(file); 

Meine Dateistruktur ist wie folgt:

projectName 
      src 
       package1 
         MorphImage.java 
         pic1.jpg 

Auf meinem Laptop 10 Windows ausgeführt wird, das funktioniert ganz gut, aber genau das gleiche Projekt mit auf meinem Windows 8 pc, bekomme ich eine IIOException: Can't read file! in der letzten Zeile. Beide Computer verwenden dieselbe Eclipse-Version und dieselbe JDK-Version. Ich bin mir nicht sicher, was ich hier machen soll. Ich habe viele verschiedene Dateipfade auf meinem Windows 8-Rechner ausprobiert, aber stattdessen wird nur NP geworfen, der Pfad ist also korrekt.

EDIT: Lösung unter:

URL defaultImage = MorphImage.class.getResource(URL0); 
    File file = new File(defaultImage.toURI()); 
    BufferedImage img = ImageIO.read(file); 

Antwort

0

Versuchen als Ressource Strom zu bekommen, mit dem Dateipfad wie unten

getClass() getClassLoader() getResourceAsStream ("package1/pic1.jpg"..);

+0

Das funktionierte tatsächlich, danke, wird die Lösung zu meinem Beitrag bearbeiten. – korv

Verwandte Themen