【问题标题】:Mac OS X Finder Labels in JavaJava 中的 Mac OS X Finder 标签
【发布时间】:2012-03-25 07:33:01
【问题描述】:

我有一个目录,其中有更多目录。它们按“标签”排序。

我也想在我的 Java 程序中使用它们。但是如何获取文件的Label呢?

有图书馆吗?还是我必须通过 JNA/JNI 来写?或者可能是 Applescript-Bridge?

简而言之:如何在 Mac OS X 中获取文件的标签?

【问题讨论】:

  • 出于好奇,为什么这被否决了?似乎是一个合法的问题:Can I use Java to make a native system call to get the Label of a file on a HFS File System?

标签: java macos file label finder


【解决方案1】:

使用 xattr 命令行工具获取相关文件的元数据。

如果文件有标签,就会有一个如下所示的属性:

com.apple.metadata:kMDLabel_qygkxhrfarhtxanqhi264amkku

然后您可以将标签字符串与标签颜色相关联。

编辑 我相信 osascript 可能会提供一个更简单的界面来获取/设置文件的扩展元数据。

Tagging files with colors in OS X Finder from shell scripts

【讨论】:

  • 这是唯一的方法吗?如果“文件”是目录,它也不会显示任何元数据。然后出现“com.apple.FinderInfo”。
【解决方案2】:

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,使用苹果脚本。

【讨论】:

  • 这听起来不错,但你能给我一个更扩展的代码示例吗? :)
  • 这回答了如何在 Objective C 中做到这一点,而不是 Java。
猜你喜欢
  • 2015-01-19
  • 1970-01-01
  • 2011-10-19
  • 2010-12-17
  • 2011-11-09
  • 2012-12-21
  • 1970-01-01
  • 1970-01-01
  • 2012-03-22
相关资源
最近更新 更多