首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自NSURL故障的NSFileHandle

来自NSURL故障的NSFileHandle
EN

Stack Overflow用户
提问于 2016-05-05 02:13:17
回答 1查看 1.1K关注 0票数 2

我想把一些数据写到文件里。我能够从文件对话框中获得一个NSURL,所获得的NSURL值如下

代码语言:javascript
复制
file:///Users/brad/Documents/2016-05-04-06-53-35.csv

我的代码执行以下操作:

代码语言:javascript
复制
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");
}

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

代码语言:javascript
复制
 Error Domain=NSCocoaErrorDomain Code=2 "(null)" UserInfo={NSFilePath=/Users/brad/Documents/

myFileHandle也是零。

有什么线索吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-05 02:22:09

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

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

代码语言:javascript
复制
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];
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37041198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档