如何打开文件夹?

jin*_*jin 16 cocoa

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

bbu*_*bum 39

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

这应该可以解决 - 它假设你有一个对savePanel的引用.

NSURL *fileURL = [savePanel URL];
NSURL *folderURL = [fileURL URLByDeletingLastPathComponent];
[[NSWorkspace sharedWorkspace] openURL: folderURL]; 
Run Code Online (Sandbox Code Playgroud)

如果您从NSString包含路径开始,则从以下开始:

NSURL *fileURL = [NSURL fileURLWithPath: stringContainingPath];
Run Code Online (Sandbox Code Playgroud)


Pet*_*sey 32

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

[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:
   @[ URLToSavedFile ]];
Run Code Online (Sandbox Code Playgroud)

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

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

[[NSWorkspace sharedWorkspace] selectFile:pathToSavedFile 
                 inFileViewerRootedAtPath:@""];
Run Code Online (Sandbox Code Playgroud)

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


小智 8

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

NSString* folder = @"/path/to/folder"  
[[NSWorkspace sharedWorkspace]openFile:folder withApplication:@"Finder"];
Run Code Online (Sandbox Code Playgroud)