如何打开文件夹?

时间:2010-01-04 06:53:58

标签: cocoa

保存文件后,我想打开已保存文件的文件夹。我怎么做?非常感谢你!

3 个答案:

答案 0 :(得分:38)

如果我理解你的问题,你想打开在Finder中保存了某些内容的文件夹吗?

这应该可以解决问题 - 它假设您有对savePanel的引用。

NSURL *fileURL = [savePanel URL];
NSURL *folderURL = [fileURL URLByDeletingLastPathComponent];
[[NSWorkspace sharedWorkspace] openURL: folderURL]; 

如果您从包含路径的NSString开始,请从:

开始
NSURL *fileURL = [NSURL fileURLWithPath: stringContainingPath];

答案 1 :(得分:32)

更好的方法是不仅要打​​开文件夹,还要选择已保存的文件。 NSWorkspace可以为您做到这一点:

[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:
   @[ URLToSavedFile ]];

参数是一个URL数组,因此如果您只想显示一个文件,则只需传递一个对象的数组。

如果由于某种原因,您的目标是Mac OS X的版本低于10.6,那么您将使用旧的基于路径的方法:

[[NSWorkspace sharedWorkspace] selectFile:pathToSavedFile 
                 inFileViewerRootedAtPath:@""];

(您希望为第二个参数传递一个空字符串,以便Finder将重复使用该文件夹的现有Finder窗口(如果有)。

答案 2 :(得分:8)

我知道这篇文章相当陈旧,但10.9你要做的是

NSString* folder = @"/path/to/folder"  
[[NSWorkspace sharedWorkspace]openFile:folder withApplication:@"Finder"];