6

我正在用java创建一个文件夹和文件树。Windows 和 OSX 使用以下代码返回系统图标和名称:

new JFileChooser().getIcon(File f);
new JFileChooser().getName(File f);

是否有可能获得 unix 系统的图标和名称?系统命令也可以。

谢谢。

4

2 回答 2

0

您始终可以获取您正在使用的系统的名称,Java 允许您执行本机执行并捕获其结果(命令行,因此对于 unix 风格,Runtime.exec("uname -a");) 然后解析输出流中的结果。

话虽如此,在 unix 内核之上有许多不同的 GUI 层实现,并且没有检索文件类型和图标图像之间的映射的标准方法。您可以针对窗口管理器制定解决方案,但需要根据正在使用的 wm 更改您的算法。

于 2010-06-21T17:05:47.257 回答
0

我没有测试,但这段代码应该适用于大多数系统:

FileSystemView view = FileSystemView.getFileSystemView();
Icon icon = view.getSystemIcon(file);
于 2010-06-16T10:10:30.617 回答