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

标签 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_FONT, in);
    } 
    catch (Exception e)
    {
        toReturn = gameInformation;
    }
    toReturn = toReturn.deriveFont(Font.PLAIN, squareSize);
    return toReturn;
}

当从 Eclipse 或 jar 文件运行程序时,此代码成功加载字体。但是,当我将 jar 文件放入 ISO 镜像并将其挂载到磁盘后,文件无法加载。关于我做错了什么有什么想法吗?

最佳答案

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

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

关于java - 刻录到磁盘后无法加载字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1930301/

相关文章:

html - 为什么有些 CSS 规则只在 Chrome 中有效?

Html/Css font-family 不显示某些元素的字体

java - 在测试中启动 minidfscluster

java - Java 中的每个用户定义的 Class 是否都有一个与之关联的类 Class 对象?那么它和Reflection有什么不同呢?

java - 如何在android studio中删除部分安装的sdk

java - 如何使数组按 Product[counter].getProductTitle() 排序?

java - 如何在 Java 中格式化来自对象的 Double?

css - 我应该使用带有字体的 webpack 吗?

java - 如何在 Windows 上反射(reflect)来自 JAR 的类

java - mockito ArrayList<String> 问题