当我尝试加载图像并将字母从小写更改为大写或反之亦然时,图像在我使用的 IDE 中完美显示(通过 JDK 1.7),但是当我将相同代码的可运行 JAR 导出到在 JVM (1.7) 上运行时突然出现区分大小写的问题,文件名必须准确。
这里是示例代码:
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
JLabel im = new JLabel(new ImageIcon("C:\\Users\\Sammy\\Documents\\Aurora\\Onix 2 original\\app_Background.png"));
frame.add(im);
frame.setVisible(true);
}
改变app_Background.png
至app_background.png
当我在 Netbeans 中运行它时,似乎没有什么区别,图像以相同的方式显示。
但是,当我通过命令提示符或只是可运行的 JAR 从 JVM 运行代码时,除非文件名正确,否则图像不会显示。
我的问题是,为什么在 IDE 内部运行和在 IDE 外部运行时不会发生相同的区分大小写行为?
最佳答案
Java 严格区分大小写,而操作系统(我猜 Windows
)文件系统则不区分大小写。
此讨论的重点是为什么会发生这种情况:
关于java - Java 中奇怪的区分大小写问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17594615/