有个需求要用美术字体在图片上写字

用自定义的文字有两个方法:

1、

  Font dynamicFont = Font.createFont(Font.TRUETYPE_FONT, InputStream input);

2、

  Font dynamicFont = Font.createFont(Font.TRUETYPE_FONT, new File(pathString));

我一开始用的是第一种方法:

InputStream input = FontLoader.class.getResourceAsStream(classPathTTF);
Font dynamicFont = Font.createFont(Font.TRUETYPE_FONT, input);
input.close();

然后就出现了吃硬盘的问题

它会在你的容器的临时文件哪里写很多的临时文件

你用一次他就读一次,拷贝一份 *.tmp文件出来

对于tmp文件的描述google上有很多资料,但是也没有点到要点。

问题参考资料:

sun关于tmp文件的描述

http://www.securiteam.com/windowsntfocus/5UP0H0KDFU.html

http://stackoverflow.com/questions/1751673/font-createfont-leaves-files-in-temp-directory

[#4743] - Too many temporary font files (+~JF tmp)

http://community.jaspersoft.com/jasperreports-library/issues/4743

有各种的说法:有人说是bug,有些人说升级到有些版本不会有问题,有些人说是操作系统的缘故等。

还有人的解决方案是定时跑任务,删除tmp文件。这个方式非常不妥当。

以下就是一个用input方式引入自定义font的方式,下面参考资料有坑。

http://www.java2s.com/Code/Java/2D-Graphics-GUI/Loadfontfromttffile.htm

其实问题很简单,只要替换成第2个方法就可以了。

String pathString = FontLoader.class.getResource("/font/xxx.ttf").getFile();
Font dynamicFont = Font.createFont(Font.TRUETYPE_FONT, new File(pathString));

这样无论多少次饮用都不会有tmp文件产生

总结一下

方法1、消耗IO,吃硬盘,速度慢,生成很多tmp的文件,大硬盘没感觉,吃光了你就叫吧。
方法2、低IO,速度快,不会生成tmp文件,没有input流,不必关系是否关系。

做项目的一个坑,自己做个笔记

最新文章

  1. CSS counter-reset 属性
  2. C# WPF 让你的窗口始终钉在桌面上
  3. 自己动手模拟百分百<select>下拉列表
  4. 修改CSV中的某些值 -- 1
  5. linux设置tomcat开机自启动
  6. Linux 下 Lua 与 LuaSQL 模块安装
  7. lihgtoj 1006
  8. 04_天气查询_JAX-WS方式_服务端
  9. Linux Makefile analysis for plain usr
  10. IS-A 和 HAS-A
  11. getElementById的缩略
  12. 十天学Linux内核之第三天---内存管理方式
  13. centOS静态ip设置
  14. iOS,点击button拨打电话
  15. 23 服务的绑定启动Demo3
  16. python读写excel文件
  17. golang判断文件是否存在
  18. spring_07使用spring的特殊bean、完成分散配置
  19. 17)django-模板的继承与导入
  20. 树莓派mariadb 设置密码

热门文章

  1. tushare
  2. Launching web on MyEclipse Tomcat 问题
  3. STL插入删除和查询测试
  4. [转]svn 回退/更新/取消至某个版本命令详解
  5. Git 基本概念及常用命令
  6. winform下的简易播放器
  7. Codeforces CF#628 Education 8 B. New Skateboard
  8. HTML5 学习笔记(三)——本地存储
  9. 51Nod 1010 只包含因子2 3 5的数 Label:None
  10. 基于XML配置的spring aop增强配置和使用