通过网络路径读取文件

2022-09-04 22:37:33

我有这个奇怪的问题,当我使用

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

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

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

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


答案 2