繁体   English   中英

来自 NSURL 失败的 NSFileHandle

[英]NSFileHandle from NSURL failure

我正在尝试将一些数据写入文件。 我能够从文件对话框中获取 NSURL 并且获取的 NSURL 具有以下值

file:///Users/brad/Documents/2016-05-04-06-53-35.csv

我的代码执行以下操作:

NSURL*  myFile = [panel URL]; // is     file:///Users/brad/Documents/2016-05-04-06-53-35.csv
NSError *error = nil;   

NSFileHandle *myFileHandle = [NSFileHandle fileHandleForWritingToURL:myFile error:&error];
NSLog(@"%@",error);

if (myFileHandle)
{
  ... // do something 
} 
else 
{
 NSLog(@"File operation failed");
}

我收到一个错误,指示以下内容

 Error Domain=NSCocoaErrorDomain Code=2 "(null)" UserInfo={NSFilePath=/Users/brad/Documents/

此外,myFileHandle 为零。

任何线索?

请参阅NSFileHandle fileHandleForWritingToURL:error:的文档。 如果文件不存在,您将返回nil

使用NSFileManager首先检查文件是否存在。 如果没有,请使用NSFileManager createFileAtPath:contents:attributes:创建一个空文件。

NSURL *myFile = [panel URL];
if (![[NSFileManager defaultManager] fileExistsAtPath:[myFile path]]) {
    [[NSFileManager defaultManager] createFileAtPath:[myFile path] contents:[NSData data] attributes:nil];
}

NSError *error = nil;   

NSFileHandle *myFileHandle = [NSFileHandle fileHandleForWritingToURL:myFile error:&error];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM