Java 从相对路径读取文件
我知道这个问题以前被问过1000次。我尝试了所有的解决方案(也不起作用),但似乎都不起作用 我试图通过提供如下相对路径来读取图像文件:Java 从相对路径读取文件,java,file,io,Java,File,Io,我知道这个问题以前被问过1000次。我尝试了所有的解决方案(也不起作用),但似乎都不起作用 我试图通过提供如下相对路径来读取图像文件: BufferedImage image; image = fm.readMap("..\\..\\resources\\5x5.png"); 阅读: public BufferedImage readMap(String path) { BufferedImage img = null; try{ img = ImageIO.r
BufferedImage image;
image = fm.readMap("..\\..\\resources\\5x5.png");
阅读:
public BufferedImage readMap(String path)
{
BufferedImage img = null;
try{
img = ImageIO.read(new File(path));
}
catch (IOException e){
System.out.println("Image not found.");
e.printStackTrace
}
return img;
}
代码的位置:
父-->src-->外部源管理-->TestMapAnalysis.java
图像位置:父-->资源-->5x5.png
提前谢谢 相对路径不是相对于源(.java)文件,而是相对于类路径。如果在与src相同的目录中的bin文件夹下有类,则映像的相对路径为
image = fm.readMap("resources\\5x5.png");
您可以使用:
getClass().getResourceAsStream("/" + fileName);
要获取资源文件夹中文件的
InputStream
。请尝试更改图像的位置,如:
src\\resources\\5x5.png
示例代码:
String pathToImageSortBy = "nameOfProject/resources/5x5.png";
ImageIcon SortByIcon = new ImageIcon(getClass().getClassLoader().getResource(pathToImageSortBy));
您得到了什么错误?您使用的是哪个IDE?@rozkosz线程“main”javax.imageio.IIOException中的异常:无法读取输入文件@Sarz NetBeans 8.0.1Try resources\\5x5.png。我可以通过更改文件的位置来读取文件,但我不应该这样做。