尝试在您的计算机上运行它。将rootPath替换为字体的路径。
public class FontLoader {
public static void main(String[] args) {
String rootPath = "/Library/Fonts";
File root = new File(rootPath);
if (root.canRead()) {
String[] fontFiles = root.list();
Font font = null;
for (String fontFile : fontFiles) {
try {
System.out.println(fontFile);
font = Font.createFont(Font.TRUETYPE_FONT, new File(root
+ "/" + fontFile));
System.out.println(font);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}您应该能够无限次地运行无限次,如果是这样,那么您可能需要稍微重新构建代码 - 在输入流上堆叠close / open看起来有点可疑。我这样说没有看到你在哪里声明那些实例变量以及其他代码可能正在操纵它们。