【发布时间】:2012-05-02 15:21:43
【问题描述】:
我在使用时遇到了这个奇怪的问题
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 不需要。
-
您能否发布实际导致错误或导致空引用的代码?在任何 Java 平台上,您列出的行都不应该为空。
-
您确定您的 UNC 引用指向 share 而不是文件夹,例如 \\\\MYSERVER\\SHARENAME\\FOLDER\\FOLDER\\MYPICTURE。 JPG。如果上面示例的第二部分确实是文件夹名称,而不是共享,则引用将无法解析。