jos*_*ine 7 file-io nsdata nsoutputstream ios
我想使用NSOutputStream来累积数据,然后在完成后,使用内容创建一个NSData对象.我可以在输出流基于文件时执行此操作,如下所示:
NSString *tmpDirectory = NSTemporaryDirectory();
NSString *filePath = [tmpDirectory stringByAppendingPathComponent:@"tempfile"];
[[NSFileManager defaultManager] createFileAtPath:filePath contents:nil attributes:nil];
NSOutputStream *outputStream = [[NSOutputStream alloc] initToFileAtPath:filePath append:NO]; [outputStream open];
// fill the output stream here
NSData *contents = [NSData dataWithContentsOfFile:filePath];
[outputStream close];
Run Code Online (Sandbox Code Playgroud)
我希望填充'contents'变量而不创建临时文件.我可以在记忆中做到这一点吗?我没有在NSOutputStream文档中看到API .
jos*_*ine 15
根据难以找到的文档,首先使用内存初始化输出流,然后使用密钥NSStreamDataWrittenToMemoryStreamKey调用propertyForKey方法.
对于你的例子:
NSOutputStream *outputStream = [[NSOutputStream alloc] initToMemory];
[outputStream open];
// fill the output stream somehow
NSData *contents = [outputStream propertyForKey:NSStreamDataWrittenToMemoryStreamKey];
[outputStream close];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3399 次 |
| 最近记录: |