0

我的工作站正在运行 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();
        }
    }
}
4

3 回答 3

2

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

于 2012-08-31T20:43:14.097 回答
2

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

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

于 2012-08-31T20:05:20.717 回答
0

我有同样的问题,并通过谷歌找到了这个。我通过在 samba url 前面使用“file:\\\\”解决了这个问题。

于 2013-11-29T21:25:04.647 回答