我有一個更多目錄的目錄。它們按「標籤」排序。Java中的Mac OS X Finder標籤
我想在我的Java程序中使用它們。但如何獲得文件的標籤?
有沒有圖書館?或者我必須通過JNA/JNI寫smth?或者也許是一個Applescript橋樑?
簡而言之:如何在Mac OS X中獲取文件的標籤?
我有一個更多目錄的目錄。它們按「標籤」排序。Java中的Mac OS X Finder標籤
我想在我的Java程序中使用它們。但如何獲得文件的標籤?
有沒有圖書館?或者我必須通過JNA/JNI寫smth?或者也許是一個Applescript橋樑?
簡而言之:如何在Mac OS X中獲取文件的標籤?
使用xattr命令行工具獲取相關文件的元數據。
如果該文件有一個標籤,將有看起來像這樣的屬性:
com.apple.metadata:kMDLabel_qygkxhrfarhtxanqhi264amkku
然後,您可以在標籤字符串與標籤的顏色相關聯。
編輯 我相信osascript可能會提供一個更簡單的接口來獲取/設置文件的擴展元數據。
見Tagging files with colors in OS X Finder from shell scripts
是唯一的方法嗎?如果「文件」是一個目錄,它也不會顯示任何元數據。然後出現「com.apple.FinderInfo」。 – Zarathustra 2012-03-07 20:40:00
對於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
,請使用蘋果腳本。
這聽起來不錯,但你能給我一個更擴展的代碼示例嗎? :) – Zarathustra 2012-03-17 10:10:40
這回答瞭如何在Objective C中完成它,但不是Java。 – pndc 2016-04-25 08:11:49
出於好奇,爲什麼這是downvoted?看起來像一個合法的問題:'我可以使用Java進行本地系統調用來獲取HFS文件系統上文件的標籤嗎?' – 2012-03-07 19:14:57