Ich habe dieses seltsame Problem Lesen, wenn icheine Datei über einen Netzwerkpfad
File FileToRead = new File("\\\\MYSERVER\\MYFOLDER\\MYFOLDER\\MYPICTURE.JPG");
verwenden, um eine Datei über ein Netzwerk zu lesen, alles, was ich bekommen, ist eine Null-Zeiger-Ausnahme. Normalerweise funktioniert ein lokaler Pfad, aber wenn ich auf einem Netzwerkpfad bin, konnte ich es einfach nicht zum Laufen bringen. Irgendwelche Ideen?
PS: Ach ja, und meine Netzwerkverbindung scheinen, keine Probleme zu arbeiten, wenn Daten in Windows Explorer den Zugriff auf ...
Mehr von dem Code:
File FileToRead = new File("file://DOKSERVICE/Somefolder/ProductImage/01001.JPG");
//File FileToRead = new File("c:\\dog.jpg"); local test
BufferedImage image = ImageIO.read(FileToRead);
BufferedImage resizedimage = new BufferedImage(260, 260,BufferedImage.TYPE_INT_RGB);
Graphics2D g = resizedimage.createGraphics();
g.drawImage(image, 0, 0, 260, 260, null);
g.dispose();
picture.setIcon(new ImageIcon(image));
Ich vermute, es ist etwas mit dem Fall zu tun. Ist Ihr vollständiger Pfad genau so, in Großbuchstaben? Windows unterscheidet nicht zwischen Groß- und Kleinschreibung. Java muss nicht sein. – adarshr
Können Sie den Code posten, der den Fehler tatsächlich verursacht oder zu einer Nullreferenz führt? Die Zeile, die Sie aufgelistet haben, sollte auf keiner Java-Plattform null sein. – maerics
Sind Sie sicher, dass Ihre UNC-Referenz auf eine * share * verweist und nicht auf einen Ordner, zB \\\\ MYSERVER \\ SHARENAME \\ FOLDER \ FOLDER \ MYPICTURE.JPG. Wenn der zweite Teil Ihres obigen Beispiels wirklich ein Ordnername und keine Freigabe ist, wird die Referenz nicht aufgelöst. –