2012-03-07 2 views
2

У меня есть каталог, в котором больше каталогов. Они сортируются по «Ярлыкам».Mac OS X Finder Labels в Java

Я хочу использовать их и в своей программе Java. Но как получить ярлык файла?

Есть ли какая-нибудь библиотека? Или мне нужно писать smth через JNA/JNI? Или, может быть, Applescript-Bridge?

В краткой форме: Как получить ярлык файла в Mac OS X?

+0

Из любопытства, почему это происходит вниз? Кажется, что законный вопрос: «Могу ли я использовать Java для создания собственного системного вызова для получения метки файла в файловой системе HFS?» –

ответ

0

Используйте инструмент командной строки xattr, чтобы получить метаданные для рассматриваемого файла (ов).

Если файл имеет метку, то будет атрибут, который выглядит следующим образом:

com.apple.metadata: kMDLabel_qygkxhrfarhtxanqhi264amkku

Вы можете соотнести строку этикетки с цветом этикетки.

Редактировать Я считаю, что osascript может обеспечить более легкий интерфейс для получения/установки расширенных метаданных в файлах.

См Tagging files with colors in OS X Finder from shell scripts

+0

Это единственный способ? Кроме того, он не отображает метаданные, если «файл» - это каталог. Затем появляется «com.apple.FinderInfo». – Zarathustra

0

Для 10.6 и выше, вы можете использовать NSURL метод экземпляра.

- (BOOL)getResourceValue:(id *)value forKey:(NSString *)key error:(NSError **)error 

и

- (BOOL)setResourceValue:(id)value forKey:(NSString *)key error:(NSError **)error

с NSURLLabelNumberKey или NSURLLabelColorKey.

Для 10.5 используйте скрипт для яблока.

+0

Звучит неплохо, но не могли бы вы привести более расширенный пример кода? :) – Zarathustra

+0

Ответы, как это сделать в Objective C, но не на Java. – pndc