2012-03-07 61 views
2

我有一個更多目錄的目錄。它們按「標籤」排序。Java中的Mac OS X Finder標籤

我想在我的Java程序中使用它們。但如何獲得文件的標籤?

有沒有圖書館?或者我必須通過JNA/JNI寫smth?或者也許是一個Applescript橋樑?

簡而言之:如何在Mac OS X中獲取文件的標籤?

+0

出於好奇,爲什麼這是downvoted?看起來像一個合法的問題:'我可以使用Java進行本地系統調用來獲取HFS文件系統上文件的標籤嗎?' – 2012-03-07 19:14:57

回答

0

使用xattr命令行工具獲取相關文件的元數據。

如果該文件有一個標籤,將有看起來像這樣的屬性:

com.apple.metadata:kMDLabel_qygkxhrfarhtxanqhi264amkku

然後,您可以在標籤字符串與標籤的顏色相關聯。

編輯 我相信osascript可能會提供一個更簡單的接口來獲取/設置文件的擴展元數據。

Tagging files with colors in OS X Finder from shell scripts

+0

是唯一的方法嗎?如果「文件」是一個目錄,它也不會顯示任何元數據。然後出現「com.apple.FinderInfo」。 – Zarathustra 2012-03-07 20:40:00

0

對於10.6及以上的,可以使用NSURL實例方法。

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

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

NSURLLabelNumberKeyNSURLLabelColorKey

對於10.5,請使用蘋果腳本。

+0

這聽起來不錯,但你能給我一個更擴展的代碼示例嗎? :) – Zarathustra 2012-03-17 10:10:40

+0

這回答瞭如何在Objective C中完成它,但不是Java。 – pndc 2016-04-25 08:11:49