0

我需要两种方法:一种用于了解文件是否隐藏,另一种用于将文件设置为隐藏。我没有在开发者文档中得到答案...

有人吗?

非常感谢 !杰罗姆

4

2 回答 2

3

以“.”开头的文件 默认情况下将隐藏在 Finder 中,因此您可以测试文件是否以点开头,例如:

NSString* filename = //Something
if([string hasPrefix:@"."]) {
  //The file is hidden
}

要使文件不可见,您可以重命名文件,并在名称前加上句点。

于 2013-07-27T20:37:05.663 回答
3

您可以使用NSFileManager列出目录中的文件。

NSURL *directoryURL = [NSURL fileURLWithPath:(NSString*)path];

NSArray *filteredContents = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:directoryURL
         includingPropertiesForKeys:[NSArray arrayWithObject:NSURLNameKey]
                            options:NSDirectoryEnumerationSkipsHiddenFiles
                              error:nil];

指定NSDirectoryEnumerationSkipsHiddenFiles选项后,它将跳过目录中的所有隐藏文件。然后,您可以执行类似的方法,即返回目录中的所有文件。

NSArray *allContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:(NSString *path) error:nil];

任何allContents不在其中的文件都filteredContents可能是隐藏文件。

于 2013-07-28T00:52:02.183 回答