2012-03-07 14 views
2

私はディレクトリが複数あるディレクトリがあります。それらは「ラベル」によってソートされます。JavaのMac OS X Finderのラベル

私は自分のJavaプログラムでも使いたいです。しかし、どのようにファイルのラベルを取得するには?

ライブラリはありますか?それともJNA/JNI経由で書かなければならないのですか?あるいはAppleScriptの橋?

短い形式で:Mac OS Xでファイルのラベルを取得するにはどうすればよいですか?

+0

好奇心の疎外で、なぜこれがダウンリストされていますか?正当な質問のようです: 'Javaを使ってHFSファイルシステム上のファイルのラベルを取得するネイティブシステムコールを行うことはできますか? ' –

答えて

0

xattrコマンドラインツールを使用して、問題のファイルのメタデータを取得します。

ファイルにラベルを持っている場合は、次のようになります属性が存在します。

com.apple.metadata:kMDLabel_qygkxhrfarhtxanqhi264amkku

あなたはその後、ラベルの色とラベル文字列を関連付けることができます。

編集 osascriptは、ファイルの拡張メタデータを取得/設定するためのより簡単なインタフェースを提供すると信じています。

10.6以上の場合Tagging files with colors in OS X Finder from shell scripts

+0

それは唯一の方法ですか?また、 "ファイル"がディレクトリの場合、メタデータは表示されません。 "com.apple.FinderInfo"が表示されます。 – Zarathustra

0

を参照してください、あなたはNSURLインスタンスメソッドを使用することができます。 NSURLLabelNumberKey又はNSURLLabelColorKey

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

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

10.5の場合はappleスクリプトを使用してください。

+0

これはいいですね、もっと拡張されたコード例を教えてください。 :) – Zarathustra

+0

これは、Javaではなく、Objective Cで行う方法に対応しています。 – pndc