0

.jar ファイルが実行されているフォルダーからいくつかの画像ファイルを読み込もうとしています。ディレクトリのパスを取得する方法を知りたいです。私はこのようなことをしようとしています。

protected void updateLabel(String name){
    File f = new File("*path where the .jar file is being run from/tmspictures/" + name + ".jpg");
    if(f.exists()){
        ImageIcon icon = new ImageIcon("*path where the .jar file is being run from/tmspictures/" + name + ".jpg);
        Image img = icon.getImage(); 
        Image newimg = img.getScaledInstance(lbl_pic.getWidth(), lbl_pic.getHeight(),  java.awt.Image.SCALE_SMOOTH);
        icon = new ImageIcon(newimg);
        lbl_pic.setIcon(icon);
        lbl_pic.setText(null);
    }
    else{
        lbl_pic.setText("Image not found");
        lbl_pic.setIcon(null);
    }
}

したがって、jarファイルが実行されているC:/Users/xerof_000/Desktop/TMS.jar場合、写真を読み取る必要がC:/Users/xerof_000/Desktop/tmspictures/image.jpgあります。stackoverflowで1つの方法を見つけましたが、ディレクトリとともにファイル名も返します。そして、その部分を切り取ってから URL を使用したくありません。誰かがシンプルで簡単な方法を提案できますか。ありがとう。

4

1 に答える 1

0

パス./tmspictures/image.jpgを使用するだけでうまくいくと思います。jar ファイルを実行すると、作業ディレクトリが jar のあるパスに設定されるため、そこから移動できます。

于 2013-03-03T15:36:20.570 に答える