如何在java中获取linux文件夹和文件图标和名称?

时间:2010-06-15 07:49:32

标签: java linux jfilechooser shell-icons

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

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

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

感谢。

3 个答案:

答案 0 :(得分:2)

无法添加评论,因此张贴为答案:

查看https://stackoverflow.com/questions/1629172/how-do-you-get-the-icon-mime-type- and-application-associated-with-a-file-in-the

所有这些答案都会让你在C或C ++中沾沾自喜。 Java从未真正与原生外观和风格押韵......

答案 1 :(得分:0)

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

FileSystemView view = FileSystemView.getFileSystemView();
Icon icon = view.getSystemIcon(file);

答案 2 :(得分:0)

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

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