使用NSFileHandle
,我能够将文件内容读入NSData
对象,如下所示:
NSFileHandle *readHandle = [NSFileHandle fileHandleForReadingAtPath:filePath];
NSData *data = [readHandle readDataToEndOfFile];
问题是此代码每次都会创建一个新的NSData
对象。我的应用程序正在连续读取多个大文件;每个文件的大小完全相同,所以我想避免在读取每个文件时创建新的内存块(NSData
)的性能损失,而只需要一个NSData
对象每个文件都是连续读取的。但我找不到任何文件读取方法,它采用void指针将文件内容写入。
除了NSFileHandle
之外,iOS中是否有其他类可以执行此操作?
啊哈,NSInputStream
正是我在寻找的。 p>
答案 0 :(得分:0)
您可以使用NSMutableData:
[data setData:[readHandle readDataToEndOfFile]];