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