Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSFileManager&;NSFileHandle?_Objective C - Fatal编程技术网

Objective c NSFileManager&;NSFileHandle?

Objective c NSFileManager&;NSFileHandle?,objective-c,Objective C,我有这个权利吗 To manipulate files on disk (create, copy, rename etc.) you use NSFileManager To manipulate file contents (open, read, close etc.) you use NSFileHandle 我只是想确保我正确理解这一点 编辑001 谢谢,这就是我对Joshua的理解,所以我假设通过使用下面的示例,open和close都是由实现自动处理的 fileContents

我有这个权利吗

To manipulate files on disk (create, copy, rename etc.) you use NSFileManager

To manipulate file contents (open, read, close etc.) you use NSFileHandle
我只是想确保我正确理解这一点

编辑001 谢谢,这就是我对Joshua的理解,所以我假设通过使用下面的示例,open和close都是由实现自动处理的

fileContents = [NSString stringWithContentsOfFile:fileOnDisk
                         encoding:NSMacOSRomanStringEncoding 
                         error:&fileError];

加里或多或少,是的。从文档中:

NSFileHandle对象为访问打开的文件或通信通道提供面向对象的包装


。。。尽管NSFileHandle不是读/写文件所必需的。您可以使用一行代码和无句柄向文件写入NSString或从文件读取NSString。取决于您想做什么。

我相信,在很大程度上,NSFileHandle是一个围绕文件描述符的包装器——对于“相对”低级别的读取或写入非常有用


如果您只是将字符串或NSData的内容推送到文件中或从文件中推出来,那么这些类上的关联方法很难击败。

回答您的编辑,是的,所有直接文件处理问题都通过-stringWithContentsOfFile:encoding:error抽象出来:您只需要关心编码是否正确,以及该方法是否失败(返回nil)并产生了关联的错误。是否可以检查此项:是否可以检查此项: