2

当我尝试加载图像并将字母从小写更改为大写或反之亦然时,图像在我使用的 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);
}

当我在 Netbeans 中运行它时,更改app_Background.pngapp_background.png似乎没有什么区别,图像以相同的方式显示。

但是,当我通过命令提示符或仅可运行的 JAR 从 JVM 运行代码时,除非文件名正确,否则图像不会显示。

我的问题是为什么在 IDE 内部运行和在 IDE 外部运行时不会发生相同的区分大小写行为?

4

1 回答 1

4

Java is strictly case sensitive and whereas the OS(I guess Windows) file system many not.

This discussion goes over as why this happens:

https://netbeans.org/bugzilla/show_bug.cgi?id=198946

于 2013-07-11T13:26:52.293 回答