我正在用java创建一个文件夹和文件树。Windows 和 OSX 使用以下代码返回系统图标和名称:
new JFileChooser().getIcon(File f);
new JFileChooser().getName(File f);
是否有可能获得 unix 系统的图标和名称?系统命令也可以。
谢谢。
我正在用java创建一个文件夹和文件树。Windows 和 OSX 使用以下代码返回系统图标和名称:
new JFileChooser().getIcon(File f);
new JFileChooser().getName(File f);
是否有可能获得 unix 系统的图标和名称?系统命令也可以。
谢谢。
您始终可以获取您正在使用的系统的名称,Java 允许您执行本机执行并捕获其结果(命令行,因此对于 unix 风格,Runtime.exec("uname -a");) 然后解析输出流中的结果。
话虽如此,在 unix 内核之上有许多不同的 GUI 层实现,并且没有检索文件类型和图标图像之间的映射的标准方法。您可以针对窗口管理器制定解决方案,但需要根据正在使用的 wm 更改您的算法。
我没有测试,但这段代码应该适用于大多数系统:
FileSystemView view = FileSystemView.getFileSystemView();
Icon icon = view.getSystemIcon(file);