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 に答える