【问题标题】:Append NSData to a file in Objective C将 NSData 附加到 Objective C 中的文件
【发布时间】:2010-11-18 07:46:52
【问题描述】:

我正在尝试在 iPhone 上下载一个大文件,并在下载后将其保存到磁盘。

理想情况下,在:

-(void)connection:(NSURLConnection*)connection didReceiveData:(NSData*)data {

}

我想将“数据”附加到磁盘上的文件中。

我查看了 NSData 文档。有写入文件的函数,但我看不到任何要附加到现有文件的内容。

有谁知道我可以如何附加这些数据?非常感谢任何帮助! 尼克。

【问题讨论】:

    标签: objective-c append nsdata


    【解决方案1】:

    您可以结合使用NSFileHandle 类中的-writeData:-seekToEndOfFile 方法将NSData 写入文件末尾。

    【讨论】:

    • 天才。我发誓在写这篇文章之前我已经看了好几次 NSFileHandle 文档!一定完全错过了这些功能! N
    • 为什么不使用 NSMutableData?它有 appendData: 方法!
    • NSMutableData 在 RAM 中工作——下载任何实际大小的文件都会占用您的资源。
    • 是的,Vineel 是对的。使用 NSData 写入文件很方便,但不要使用它来写入太大的文件,否则会崩溃。
    • 最后查看示例代码的答案:stackoverflow.com/questions/11106584/…
    【解决方案2】:

    有一个 Apple 示例应用程序下载到文件,使用 NSOutputStream 写入文件。查看名为“SimpleURLConnections”的示例应用程序的“GetController.h”文件。

    这是一个直接的 URL——虽然我认为如果你没有登录到 developer.apple.com,它不会起作用。

    https://developer.apple.com/library/ios/#samplecode/SimpleURLConnections/Introduction/Intro.html#//apple_ref/doc/uid/DTS40009245

    【讨论】:

    • 这基本上是一个仅链接的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-06
    • 1970-01-01
    相关资源
    最近更新 更多