Font.createFont将文件保留在temp目录中

下面的代码可以正常工作,但是每次运行时都会将字体文件的副本保留在temp目录中。这些文件名为 +〜JF7154903081130224445.tmp

,其中每个创建的文件的数字似乎都是随机的。

InputStream fontStream = this.getClass().getResourceAsStream("handsean.ttf");

Font baseFont = Font.createFont(Font.TRUETYPE_FONT, fontStream);

fontStream.close();

我在sun.com的论坛上以及在Web上的其他资源中发现了多年的讨论,这些讨论被认为是JDK中的错误,从1.5.0_06升级到1.5.0_08可以解决问题;但是,我使用的版本是更高版本(1.6.0_13)。

我尝试通过完成字体相关的操作后删除文件来解决问题,但文件当时被锁定。仅在Web应用程序停止后才能删除文件。

有人对此有解决方案吗?

回答:

如果您的ttf文件不在存档中,则可以调用createFont(File)而不是createFont(InputStream)

据我所知,此错误存在于Java 6中,足以查看Font类的源代码。

以上是 Font.createFont将文件保留在temp目录中 的全部内容, 来源链接: utcz.com/qa/398742.html

回到顶部