我正在使用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);
我没有测试过,但这段代码应该在大多数系统上都能正常工作:
FileSystemView view = FileSystemView.getFileSystemView();
Icon icon = view.getSystemIcon(file);
您可以随时获取您正在工作的系统的名称,Java允许您执行本地执行并捕获其结果(命令行,因此对于Unix版本,Runtime.exec(“uname-a”);),然后解析输出流中的结果。
话虽如此,在unix内核之上有许多不同的GUI层的实现,并且没有一种标准的方法来检索文件类型与图标图像之间的映射。 您可以针对窗口管理器制定特定的解决方案,但需要根据使用的wm更改算法。