如何将文件路径传递给本地src URL而不是通常的目录?

时间:2013-12-06 23:59:48

标签: java file url directory

使我的问题更具体:

mapFile = new File("D:/Documents/Graphics/map.png");

     map = ImageIO.read(mapFile);

'map'是一个BufferedImage我希望将读取的图像放入。我必须使用一些不舒服的目录格式,一个简单地导致项目的src文件夹的URL将是最受欢迎的(路径将只是“map.png”)。我有一个使用URL的简单方法,它使用这样的东西来获取图像地址:

java.net.URL imgURL = SpineMain.class.getResource("map.png");

但是这种美不符合File的期望(String)。有没有相对简单的方法来改变它?
[顺便说一句 - 我想要实现的是容易打包和可移动的文件夹,包含类和基本文件。你们中的任何人都可以向我提供一些线索,如何开始搞乱exe文件,它是带有内容文件的子文件夹等等?我知道这与我原来的问题没有什么共同之处,可能过于笼统,但我会非常感激。感谢您抽出宝贵时间帮助:)]

1 个答案:

答案 0 :(得分:2)

直截了当的方法:将'Graphics'文件夹移动到包含主程序的文件夹中,并在getResource函数中的图像名称前添加“Graphics /”。

通常,不以驱动器和/或(后退)斜杠开头的路径被视为被当前路径偏移;所以只需“Graphics / map.png”即可找到它。

这取决于Java引擎认为“当前工作目录”;它应该是你的jar文件正在执行的那个。如果是这样,您可以将其用作路径规范中的固定点,并随意标记任何子文件夹名称。