我有這個奇怪的問題,當我使用讀取文件在網絡路徑
File FileToRead = new File("\\\\MYSERVER\\MYFOLDER\\MYFOLDER\\MYPICTURE.JPG");
在網絡上讀取文件,我得到的是一個空指針異常。通常情況下,本地路徑與此協同工作,但在網絡路徑上時,我無法實現其工作。有任何想法嗎?
PS:噢,我的網絡連接似乎工作,訪問在Windows資源管理器數據時,沒有任何問題......
更多的代碼:
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));
我猜這是與案件有關。完全是這樣,全部大寫嗎? Windows不區分大小寫。 Java不需要。 – adarshr
您可以發佈實際導致錯誤的結果或空結論嗎?在任何Java平臺上,您列出的行不應該爲空。 – maerics
您確定您的UNC參考指向* share *而不是文件夾,例如\\\\ MYSERVER \\ SHARENAME \\ FOLDER \\ FOLDER \\ MYPICTURE.JPG。如果上述示例的第二部分確實是文件夾名稱,而不是共享,則引用無法解析。 –