导入的java文件不显示文字_java 引入自定义字体font后出现的硬盘吃光的问题
有個需求要用美術(shù)字體在圖片上寫字 用自定義的文字有兩個方法:
Font dynamicFont = Font.createFont(Font.TRUETYPE_FONT,
InputStream input);
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();
然后就出現(xiàn)了吃硬盤的問題。
它會在你的容器的臨時文件哪里寫很多的臨時文件
你用一次他就讀一次,拷貝一份 *.tmp文件出來
對于tmp文件的描述google上有很多資料,但是也沒有點到要點。
問題參考資料:
sun關(guān)于tmp文件的描述
有各種的說法:有人說是bug,有些人說升級到有些版本不會有問題,有些人說是操作系統(tǒng)的緣故等。
還有人的解決方案是定時跑任務(wù),刪除tmp文件。這個方式非常不妥當(dāng)。
其實問題很簡單,只要替換成第2個方法就可以了。
String pathString =
FontLoader.class.getResource("/font/xxx.ttf").getFile();
Font dynamicFont = Font.createFont(Font.TRUETYPE_FONT, new
File(pathString));
這樣無論多少次飲用都不會有tmp文件產(chǎn)生
總結(jié)一下
方法1、消耗IO,吃硬盤,速度慢,生成很多tmp的文件,大硬盤沒感覺,吃光了你就叫吧。
方法2、低IO,速度快,不會生成tmp文件,沒有input流,不必關(guān)系是否關(guān)系。
相關(guān)推薦:
總結(jié)
以上是生活随笔為你收集整理的导入的java文件不显示文字_java 引入自定义字体font后出现的硬盘吃光的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习实战22(进阶版)-AI漫画视频
- 下一篇: 阿里投资分众,大战在即的电梯广告市场却有