Der folgende Code funktioniert, hinterlässt jedoch bei jeder Ausführung Kopien der Schriftartdatei im temporären Verzeichnis. Diese Dateien heißen + ~ JF7154903081130224445.tmp, wobei die Nummer für jede erstellte Datei zufällig erscheint.Font.createFont hinterlässt Dateien im temporären Verzeichnis
InputStream fontStream = this.getClass().getResourceAsStream("handsean.ttf");
Font baseFont = Font.createFont(Font.TRUETYPE_FONT, fontStream);
fontStream.close();
Ich habe festgestellt Jahre alte Diskussionen in Foren auf sun.com und andere Ressourcen im Internet, wo dies als Fehler in JDK erkannt wird, wo von 1.5.0_06 auf 1.5.0_08 aktualisieren das Problem lösen würde ; Die Version, die ich verwende, ist jedoch eine spätere Version (1.6.0_13).
Ich habe versucht, das Problem zu lösen, indem Sie die Dateien löschen, nachdem die Schriftarten-Operationen abgeschlossen sind, aber die Dateien sind zu diesem Zeitpunkt gesperrt. Die Dateien können nur gelöscht werden, nachdem die Webanwendung beendet wurde.
Hat jemand eine Lösung dafür?
Ein guter Vorschlag, sich die Quellen anzusehen, sieht mit createFont (File) vielversprechend aus, da es keine temporäre Datei verwendet. Werde es versuchen und dich wissen lassen. –
Ich habe den Code geändert, um createFont (File) aufzurufen, wodurch verhindert wurde, dass temporäre Dateien überhaupt erstellt wurden. –