2009-12-09 60 views
2

难道我有这个权利......NSFileManager&NSFileHandle?

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

To manipulate file contents (open, read, close etc.) you use NSFileHandle 

我只是想确保我理解这一权利。

EDIT_001

谢谢你,这就是我想通约书亚,所以我假设通过下面的例子中,开启和关闭都通过自动执行处理。

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

加里

回答

3

更多或更少,是的。从文档:

NSFileHandle objects provide an object-oriented wrapper for accessing open files or communications channels.

...虽然NSFileHandle没有必要读/写文件。你可以使用一行代码和一个句柄来编写一个NSString /读取文件。取决于你想要做什么。

+0

回答你的编辑,是的,所有的直接文件处理问题都被-stringWithContentsOfFile:encoding:error: – 2009-12-14 20:19:09

+0

抽象掉了。你只需要关心编码是否正确以及方法是否失败(返回nil)产生了相关的错误。 – 2009-12-14 20:20:00

0

我相信,大多数情况下,NSFileHandle是一个围绕文件描述符的包装 - 对于'相对'较低的水平读取或写入有好处。

如果你只是将一个字符串或NSData的内容推送到一个文件或从一个文件中推出,那么这些类的关联方法很难被打败。