从网络驱动器加载图像?

时间:2012-08-31 19:49:33

标签: java image swing imageicon

我的工作站正在运行Windows,我们开发在Windows上运行的Java应用程序。在这些Windows桌面上,我们可以访问我们的共享网络驱动器。所以我需要从网络驱动器加载图像,但它不起作用。我做错了吗?

import java.awt.Image;
import java.awt.Toolkit;

import javax.swing.ImageIcon;
import javax.swing.JOptionPane;

public class LoadImage {
    public static void main(String[] args) {
        try  {
            Image image = Toolkit.getDefaultToolkit().getImage("\\\\networkdive\\folderonnetwork\\image.jpg");  
            JOptionPane.showMessageDialog(null, "", "", JOptionPane.INFORMATION_MESSAGE, new ImageIcon(image));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

3 个答案:

答案 0 :(得分:2)

如果您遇到严重的网络延迟,可以将加载推迟到SwingWorker的实例,如此example所示。

请注意,该示例使用的是ImageIO.read()而不是Toolkit#getImage(),“可能仍然包含先前调用后从文件加载的陈旧信息。”

答案 1 :(得分:2)

我认为Samba / CIFS路径不是有效的URL或本地文件。请改为查看JCIFS

答案 2 :(得分:0)

我遇到了同样的问题,通过Google发现了这个问题。我使用"文件解决了这个问题:\\\\"在桑巴网址之前。