Я создаю дерево папок и файлов в Java. Windows и OSX возвращают системные значки и имя со следующим кодом:
new JFileChooser().getIcon(File f);
new JFileChooser().getName(File f);
Там возможность состоит в том, чтобы получить значки и название систем Unix?. Системная команда была бы в порядке также.
Спасибо.
не могу добавить комментарий, поэтому пишу как ответ :
Посмотрите на https://stackoverflow.com/questions/1629172/how-do-you-get-the-icon-mime-type- and-application-associated-with-a-file-in-the
Все эти ответы заставят вас испачкать руки в C или C++. Java никогда не рифмовалась с native look and feel...
Я не тестировал, но этот код должен работать в большинстве систем:
FileSystemView view = FileSystemView.getFileSystemView();
Icon icon = view.getSystemIcon(file);
Вы всегда можете получить имя системы, над которой работаете, Java позволяет сделать собственное выполнение и захватите результаты этого (командная строка, так что для разновидностей unix, Runtime.exec ("uname -a");), затем проанализируйте результаты в потоке вывода.
При этом существует ряд различных реализаций слоев графического интерфейса пользователя поверх ядра unix, и нет не стандартного способа получения сопоставлений между типами файлов и изображениями значков. Вы можете сделать решение, специфичное для оконного менеджера, но вам потребуется изменить алгоритм в зависимости от того, какой wm используется.