2

我正在使用 java 小程序制作一个简单的游戏。我想将缓冲图像添加到项目中。

我创建了一个名为“resources.images.sprites”的包,并将图像放在那里。

如何访问图像?

我试过使用相对路径,但是“。” 从垃圾箱外开始,所以如果我将游戏放在网站上,我将无法访问它。

有任何想法吗?

这是我用于测试的主要代码......

package resources;

import java.io.File;
import java.util.HashMap;

import entities.Sprite;

public class ImageLibrary {

    private static final File sprite_path = new File(".");
    private static File[] sprite_files = sprite_path.listFiles();

    //private static HashMap<String,Sprite> sprite_map = new HashMap<String,Sprite>();

    public static void main(String[] args){
        System.out.println(sprite_files[0]); // To check the folder it's in...
    }

}

编辑:我接受了答案,然后意识到我可以使用getPathURL 对象上的方法来获得我想要实现的目标。

4

1 回答 1

2

使用ClassLoader.

Classloader cl = ImageLibrary.class.getClassLoader();
URL imageUrl = cl.getResource("resources/images/sprites/MyImage.png");

一旦你有一个URL图像,你可以把它变成一个InputStream如果你需要的话。

InputStream imageStream = imageUrl.openStream();
于 2013-03-14T20:07:48.110 回答