更改Java应用程序中文件的位置

时间:2012-12-03 21:50:58

标签: java file class path icons

我一直把我的Java应用程序的所有图像放在src里面的一个名为“rtype”的包中,我也有我的Class来处理这些图像。我想对图像进行排序并将它们放在自己的文件夹中。当我这样做时,图像将不再加载到类中,我知道这是因为我更改了文件路径。我做了一些研究并尝试了一些不同的东西。这基本上就是我原来的:

String walkingDown = "WalkingDown.gif";
ImageIcon ii;
Image image;
ii = new ImageIcon(this.getClass().getResource(walkingDown));
image = ii.getImage();

并且在我将图像的位置移动到类的位置之外之前它工作得很好。现在它无法找到图像。这是我尝试在线尝试(文件夹名称是精灵):

//use getClassLoader() inbetween to find out where exactly the file is
ii = new ImageIcon(this.getClass().getClassLoader().getResource(standingDown));

//Changing the path 
String walkingDown = "src\\Sprites\\WalkingDown.gif";
//also tried a variation of other paths with no luck

我正在使用C盘,但不想在我的扩展程序中使用“C”,因为我希望无论我在哪里放置项目都可以访问它。我在这一点上相当坚持,已经做了足够的调查,意识到是时候问了。

3 个答案:

答案 0 :(得分:1)

您的变量名为walkingDown,但您将standingDown传递给getResource()方法。

答案 1 :(得分:1)

我有一个单独的“包”用于具有该名称的图像(在src文件夹中)

尝试这样的事情:

 try {
        ClassLoader cl = this.getClass().getClassLoader();
        ImageIcon img = new ImageIcon(cl.getResource("images/WalkingDown.gif"));
    }
    catch(Exception imageOops) {
        System.out.println("Could not load program icon.");
        System.out.println(imageOops);
    }

答案 2 :(得分:1)

new ImageIcon("src/Sprites/WalkingDown.gif");