通过网络路径读取文件

时间:2012-05-02 15:21:44

标签: java file-io

当我使用

时,我有这个奇怪的问题
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));

1 个答案:

答案 0 :(得分:7)

只需将文件路径指定为URI:

File FileToRead = new File(new URI("file://MYSERVER/MYFOLDER/MYFOLDER/MYPICTURE.JPG"));

编辑请注意该字符串是一个URI!它不能包含空格,因此您必须将它们替换为“%20”才能使其正常工作。