我正试图从一个文件夹中读取一些图像文件,其中.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上找到了一种方法,但这也返回了目录的文件名。我不想剪掉那部分然后用URL。有人能建议一个简单易行的方法吗?谢谢。
我相信你可以只使用路径./tmspictures/image.jpg
,它将工作。运行jar文件会将工作目录设置为jar所在的路径,因此您可以从那里移动。