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

发布于 2024-08-15 07:21:31 字数 552 浏览 9 评论 0原文

我有一个应用程序,其字体存储在 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 映像并将其挂载到磁盘后,文件无法加载。关于我做错了什么有什么想法吗?

I have an application which has a font stored within a jar file. It is loaded with:

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;
}

When running the program from Eclipse or a jar file this code loads the font sucessfuly. However, after I put the jar files into an ISO image and mount them to a disk the files fail to load. Any ideas as to what I'm doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小红帽 2024-08-22 07:21:31

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

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

Apparently my comment was enough to solve this. So the question can be "answered", I have added the comment as an answer:

Resource paths usually should use forward slash (/) in the path (more like a URL) as this is platform independent.

濫情▎り 2024-08-22 07:21:31

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

Are the files/JARs on the disk on the classpath?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文