如何将文件中的数据读入现有的NSData对象?

时间:2015-06-02 02:18:40

标签: ios objective-c

使用NSFileHandle,我能够将文件内容读入NSData对象,如下所示:

NSFileHandle *readHandle = [NSFileHandle fileHandleForReadingAtPath:filePath];
NSData *data = [readHandle readDataToEndOfFile];

问题是此代码每次都会创建一个新的NSData对象。我的应用程序正在连续读取多个大文件;每个文件的大小完全相同,所以我想避免在读取每个文件时创建新的内存块(NSData)的性能损失,而只需要一个NSData对象每个文件都是连续读取的。但我找不到任何文件读取方法,它采用void指针将文件内容写入。

除了NSFileHandle之外,iOS中是否有其他类可以执行此操作?

啊哈,NSInputStream正是我在寻找的。

1 个答案:

答案 0 :(得分:0)

您可以使用NSMutableData:

[data setData:[readHandle readDataToEndOfFile]];