Java 为什么我在这里得到一个文件未找到异常?
这简直快把我逼疯了! 我同时使用了连接和格式化,当生成的字符串匹配正确的路径时,循环会抛出异常 发生什么事了Java 为什么我在这里得到一个文件未找到异常?,java,string,comparison,Java,String,Comparison,这简直快把我逼疯了! 我同时使用了连接和格式化,当生成的字符串匹配正确的路径时,循环会抛出异常 发生什么事了 ImageIcon thisWorks= new ImageIcon(testview.class.getResource("/led_images/"+1+"_off.png")); for(int i = 1; i <= 10; i++) { String on = String.format("/led_images/%d_on.png",i)
ImageIcon thisWorks= new ImageIcon(testview.class.getResource("/led_images/"+1+"_off.png"));
for(int i = 1; i <= 10; i++)
{
String on = String.format("/led_images/%d_on.png",i);
String off = String.format("/led_images/%d_off.png",i);
ledIcons.put( i+"_off", new ImageIcon(testview.class.getResource(off)));
ledIcons.put( i+"_on", new ImageIcon(testview.class.getResource(on)));
}
编辑:
我是不是用错地图了?
这是一张地图
编辑2:
是的,我想我用错地图了
我宣布如下:
public Map< String, ImageIcon> ledIcons;
它在循环中是一个空值。
所以我猜它不像C++了吗?
编辑3:
是的,别提这个问题,我没有正确初始化字段,我很抱歉。我猜正斜杠就是问题所在;您可能需要相对路径。见文件:
我猜正斜杠就是问题所在;您可能需要相对路径。见文件: 如果这个方法有效,那么显然存在/led\u images/1\u off.png。如果循环中的图像出现异常,那么
/led_images/2_off.png
/led_images/2_off.png
/led_images/3_off.png
...
/led_images/10_off.png
/led_images/1_on.png
/led_images/2_on.png
/led_images/3_on.png
...
/led_images/10_on.png
他们失踪了
编辑:我使用地图有误吗?这是一张地图
不,我觉得很好。除非您以后在检索时遇到问题。如果此方法有效,则显然存在/led\u images/1\u off.png。如果循环中的图像出现异常,那么
/led_images/2_off.png
/led_images/2_off.png
/led_images/3_off.png
...
/led_images/10_off.png
/led_images/1_on.png
/led_images/2_on.png
/led_images/3_on.png
...
/led_images/10_on.png
他们失踪了
编辑:我使用地图有误吗?这是一张地图
不,我觉得很好。除非稍后检索时遇到问题。初始化字段:
public Map< String, ImageIcon> ledIcons = new HashMap< String, ImageIcon>();
初始化字段:
public Map< String, ImageIcon> ledIcons = new HashMap< String, ImageIcon>();
那么,它什么时候抛出异常,您是否使用try-catch块?您是否逐行调试了这段代码?那么它什么时候抛出异常,您是否使用了try-catch块?你是否逐行调试了这个代码?打印出字符串;我敢打赌这条路是无效的。捕获异常并打印堆栈跟踪;我敢打赌这条路是无效的。捕获异常并打印堆栈跟踪。确实,这修复了它。该死的其他语言习惯,确实解决了。该死的其他语言习惯。