文件创建错误

时间:2009-06-04 13:11:38

标签: iphone objective-c

我正在尝试使用文件执行以下任务,但我被卡住了。

以下是代码:

NSString* aStr = @"Hello World!";

NSData* aData;
aData = [aStr dataUsingEncoding: NSASCIIStringEncoding];

NSFileManager *fileManager = [NSFileManager defaultManager];

//destination is NSString which Contains the absolute address

if ([fileManager fileExistsAtPath:destination]) 
{
      NSLog(@"File Exists!");
}
else
{
     BOOL statusOfFile=[fileManager createFileAtPath :destination contents:aData attributes:nil];
}

if(statusOfFile)
     printf("\n\nFile Created!");
else
     printf("\n\nError in File creation!");

我无法创建文件 - statusOfFile的值为NO

我在GNU中尝试了这个代码并且工作正常 - 这个问题只存在于Xcode中。

有人可以告诉我为什么吗?

有人可以帮忙吗?感谢。

2 个答案:

答案 0 :(得分:6)

您的目的地可能是iPhone上的无效路径。如果您希望能够在应用程序沙箱“文档”文件夹中写入文件,请尝试以下代码:

+ (NSString *)dataFilePath {
  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                                                       NSUserDomainMask, YES);
  NSString *documentsDirectory = [paths objectAtIndex:0];
  NSString *filename = [documentsDirectory stringByAppendingPathComponent:@"Filename.plist"];

  return filename;
}

@end

答案 1 :(得分:1)

要在iPhone上访问和存储文件,我建议您阅读this

Erica Sadun还撰写了一篇关于在应用包中访问文件的好shorty