Java 刻录到磁盘后无法加载字体

Java 刻录到磁盘后无法加载字体,java,fonts,classloader,iso,truetype,Java,Fonts,Classloader,Iso,Truetype,我有一个应用程序,它的字体存储在jar文件中。它加载了: public Font getChessFont() { InputStream in = ClassLoader.getSystemClassLoader().getResourceAsStream("fonts\\MERIFONTNEW.TTF"); Font toReturn; try { toReturn = Font.createFont(Font.TRUETYPE_FO

我有一个应用程序,它的字体存储在jar文件中。它加载了:

public Font getChessFont()
{   

    InputStream in =  ClassLoader.getSystemClassLoader().getResourceAsStream("fonts\\MERIFONTNEW.TTF");
    Font toReturn;
    try
    {
        toReturn = Font.createFont(Font.TRUETYPE_FONT, in);
    } 
    catch (Exception e)
    {
        toReturn = gameInformation;
    }
    toReturn = toReturn.deriveFont(Font.PLAIN, squareSize);
    return toReturn;
}

当从Eclipse或jar文件运行程序时,此代码成功加载字体。但是,在我将jar文件放入ISO映像并将其装入磁盘后,文件无法加载。你知道我做错了什么吗?

磁盘上的文件/罐子在类路径上吗?

显然我的评论足以解决这个问题。因此,问题可以“回答”,我添加了以下评论作为回答:


资源路径通常应该在路径(更像URL)中使用正斜杠(/),因为这与平台无关。

资源路径通常应该在路径(更像URL)中使用正斜杠(
/
),因为这与平台无关。我不知道这是否造成了你的问题;我清除了我的解决方案集,遇到了这里概述的问题:在解决了这个问题后,我按照你的建议使用斜杠,它成功了。谢谢哇,我没想到。我将把我的评论移到一个答案上,这样你就可以将此标记为已回答。解决此问题:并更改斜杠后,程序按预期工作。