【问题标题】:Failing to load font after burning to disk刻录到磁盘后无法加载字体
【发布时间】:2009-12-18 19:44:22
【问题描述】:

我有一个应用程序,它的字体存储在 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),因为这是一个独立于平台的。我不知道这是否会导致您的问题;所以只是留下评论。
  • 我清除了我的解决方案集并遇到了此处概述的问题:dev.eclipse.org/newslists/news.eclipse.newcomer/msg01881.html 解决了该问题后,我按照您的建议使用了斜线并且它起作用了。谢谢!
  • 哇,我没想到会这样。我会将我的评论移至答案,以便您将其标记为已回答。

标签: java fonts classloader iso truetype


【解决方案1】:

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

资源路径通常应在路径中使用正斜杠 (/)(更像是 URL),因为这是独立于平台的。

【讨论】:

【解决方案2】:

磁盘上的文件/JAR 是否位于类路径中?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-21
    • 2018-11-13
    • 2012-04-16
    • 2021-07-13
    • 1970-01-01
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多