Java 如何将本地src URL而不是普通目录传递到文件路径?

Java 如何将本地src URL而不是普通目录传递到文件路径?,java,file,url,directory,Java,File,Url,Directory,让我的问题更具体: mapFile = new File("D:/Documents/Graphics/map.png"); map = ImageIO.read(mapFile); “map”是我希望将读取的图像放入的缓冲区图像。我不得不使用一种有点不舒服的目录格式,一个直接指向项目src文件夹的URL将是最受欢迎的(路径仅为“map.png”)。我有一个使用URL的简单方法,它使用类似这样的方法来获取图像地址: java.net.URL imgURL = SpineMain.c

让我的问题更具体:

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

     map = ImageIO.read(mapFile);
“map”是我希望将读取的图像放入的缓冲区图像。我不得不使用一种有点不舒服的目录格式,一个直接指向项目src文件夹的URL将是最受欢迎的(路径仅为“map.png”)。我有一个使用URL的简单方法,它使用类似这样的方法来获取图像地址:

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

但这种美感并不符合文件的期望(字符串)。有没有相对简单的方法来改变它?

[顺便说一句-我想要实现的是易于打包和移动的文件夹,其中包含类和基本文件。你们中的任何人都可以为我提供一些线索,如何开始处理exe文件,它的子文件夹和内容文件等等?我知道这与我最初的问题没有什么共同点,可能过于笼统,但我会非常赞同非常感谢您的帮助:)]

简单方法:将“图形”文件夹移动到包含主程序的文件夹中,并在
getResource
函数中的图像名称前添加“Graphics/”

通常,不以驱动器和/或(反)斜杠开头的路径被认为是被当前路径偏移的;所以只要“Graphics/map.png”就足以定位它

这取决于java引擎考虑的“当前工作目录”,它应该是JAR文件执行的一个。如果是,可以将其用作路径规范中的定点,并在任意子文件夹名称上随意标记。< /P>