Eclipse src文件夹中的图像文件的路径,在Mac上

时间:2013-07-01 06:27:33

标签: java eclipse macos path

我正在尝试加载图片文件。

File imageCheck = new File("Users/me/Documents/workspace/ChineseChess/src/RCar.gif");
if (imageCheck.exists())
    System.out.println("Image file found!");
else
    System.out.println("Image file not found! :(");
button.setIcon(new ImageIcon("Users/me/Documents/workspace/ChineseChess/src/RCar.gif"));
  1. 我应该将RCar.gif放在eclipse项目的src或bin文件夹中吗?
  2. 如果没有显式路径,我将如何引用它? (我正在使用mac。我相信它应该像〜/ RCar.gif,但在网上找不到正确的语法。
  3. 谢谢!

4 个答案:

答案 0 :(得分:3)

如果我没记错,Eclipse需要将所有资源放在资源目录中。当您导出应用程序时,它们将自动与您的应用程序捆绑在一起。

在运行时,您只需使用Class#getResource("/path/to/your/resource"),其中路径是“资源”文件夹中的位置

答案 1 :(得分:3)

当它在运行时所属的类的资源文件夹中时,您可以非常轻松地加载图标。 见http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResource%28java.lang.String%29

在课程your.packagename.YourClassName中,您可以写下以下内容:

String folderName = YourClassName.class.getName().replace('.', '/' );
String urlString = "/"+folderName+"/RCar.gif";
URL fileUri = YourClassName.class.getResource(urlString);
button.setIcon(new ImageIcon(fileUri));

urlString为/your/packagename/YourClassName/RCar.gif。当然,这也是图标应该在运行时的位置。

HTH

答案 2 :(得分:2)

如果要使用相对路径,它们将相对于项目的根目录,或者在部署时,相对于jar文件所在的目录。您可以使用src/RCar.gif作为文件名。

如果为资源创建一个单独的文件夹,然后使用new File("res/RCar.gif");解决它们会更好。另一个选择是将它们放在src文件夹中并使用类加载器解决它们。

答案 3 :(得分:1)

是的......它需要相对路径。

public static final String FILE_PATH =" src / test / resources / car.png&#34 ;;