[英]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.