gpt4 book ai didi

java - 字体文件不会删除

转载 作者:行者123 更新时间:2023-11-30 11:33:59 24 4
gpt4 key购买 nike

我正在尝试安装 PhpStorm,经过长篇大论后,我似乎遇到了一些错误的字体,妨碍了 Java 的运行。

我是 Java 的新手,但我发现这段代码会遍历我的字体并找到坏的字体。我已经修改它以删除错误的字体,但它不会删除。

import java.io.File;
import java.awt.Font;
import java.awt.GraphicsEnvironment;

public class myFontCheck {
public static void main(String[] args) {
Font[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();
for (int i = 0; i < fonts.length; i++) {
final Font font = fonts[i];
final String name = font.getFontName();

if (font.canDisplay('a') &&
font.canDisplay('z') &&
font.canDisplay('A') &&
font.canDisplay('Z') &&
font.canDisplay('0') &&
font.canDisplay('1')) {
//System.out.println(" OK.");
} else {
File file = new File("c:\\Windows\\Fonts\\" + name + ".ttf");
if(file.exists()) {
System.out.println("Bad Font: " + name);
file.delete();
}
}
}
}
}

我假设这是文件权限冲突,但我不知道如何更改权限。我需要以管理员身份运行吗?

或者.. 你能告诉我如何只在资源管理器窗口中打开坏文件,以便我可以“全选”吗?

最佳答案

if (font.canDisplay('a') &&
font.canDisplay('z') &&
font.canDisplay('A') &&
font.canDisplay('Z') &&
font.canDisplay('0') &&
font.canDisplay('1')) {
//System.out.println(" OK.");
} else {
System.out.println("Bad Font: " + name);
File file = new File("c:\\Windows\\Fonts\\" + name + ".ttf");
file.delete();
}

取消注释“坏字体行”。运行应用程序时会打印出任何内容吗?我怀疑不会,因为尽管您可能不喜欢字体显示的方式,但 canDisplay 可能会返回 true。

或者,“新文件”字符串构造可能会导致某些错误。我也会尝试打印出来,并检查该文件的文件系统。

有点像这样:

  } else {
System.out.println("Bad Font: " + name);
String fn = "c:\\Windows\\Fonts\\" + name + ".ttf";
System.out.println("Trying to delete: " + fn);
File file = new File(fn);
file.delete();
}

关于java - 字体文件不会删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15869595/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com