如何获取.jar文件所在目录的位置?

时间:2013-03-03 15:33:59

标签: jar directory location

我正在尝试从运行.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);
    }
}

因此,如果从C:/Users/xerof_000/Desktop/TMS.jar运行jar文件,那么应该从C:/Users/xerof_000/Desktop/tmspictures/image.jpg读取图片我在stackoverflow上找到了一种方法但是也返回了目录的文件名。我不想删除该部分,然后使用URL。有人可以建议一个简单易行的方法。感谢。

1 个答案:

答案 0 :(得分:0)

我相信你可以使用路径./tmspictures/image.jpg,它会起作用。运行jar文件会将工作目录设置为jar所在的路径,因此您可以从那里移动。