0

我想在我的应用程序文档文件夹中获取文件内容。所以我写了下面的代码。但是这段代码没有在我的应用程序文件夹中获取文件内容。在我的文档文件夹中包含我需要的文件。

- (void) displayContents
{
    NSString *folderName = [@"Object File/" stringByAppendingString:strLastpath];
    NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *docsDir = [dirPaths objectAtIndex:0];
    databasePath = [[NSString alloc] initWithString: [docsDir stringByAppendingPathComponent:folderName]];
    NSError *theError = nil;

    NSFileManager *filemgr;
    NSArray *filelist;
    int count;
    int i;

    filemgr =[NSFileManager defaultManager];
    filelist = [filemgr contentsOfDirectoryAtPath:databasePath error:&theError];
    count = [filelist count];

    for (i = 0; i < count; i++)
    {
        NSLog(@"%@", filelist[i]);
    }

}

我得到的错误是:

2013-10-14 11:18:55.680 SampleFileCreation[1599:c07] Database Path : /Users/mac/Library/Application Support/iPhone Simulator/6.1/Applications/3B43DFF3-6699-4D68-94A6-A5153F3B1404/Documents/Object File/banana.obj
2013-10-14 11:18:55.683 SampleFileCreation[1599:c07] File Exists
2013-10-14 11:18:55.685 SampleFileCreation[1599:c07] Error : The operation couldn’t be completed. (Cocoa error 260.)
4

5 回答 5

1

Cocoa 错误 260是 NSFileReadNoSuchFileError 意味着在您指定的路径中找不到文件。

问题是您的路径仍然包含编码的空格 (%20),因为您基于 URL。使用带有路径的 URL。

于 2013-10-14T06:06:55.363 回答
0
 NSString *filename=[NSString stringWithFormat:@"%@.txt",textfile];

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
 NSString *documentsDirectory = [paths objectAtIndex:0];
 NSString *filePath = [documentsDirectory stringByAppendingPathComponent:filename];
 NSURL *txtURL = [NSURL fileURLWithPath:filePath];
 NSString *result= [[NSString alloc] initWithContentsOfURL:txtURL encoding:NSUTF8StringEncoding error:nil];

在这里,您可以在结果中获取结果字符串。

于 2013-10-14T06:06:22.290 回答
0

尝试这个:

    NSString *folderName = [@"Object File/" stringByAppendingString:strLastpath];
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSURL *fileURL = [[[fileManager URLsForDirectory:searchPathDirectory inDomains:NSUserDomainMask] lastObject] URLByAppendingPathComponent:folderName];
    filelist = [filemgr contentsOfDirectoryAtPath:fileURL.path error:&theError];
于 2013-10-14T06:02:26.787 回答
0

这是 NSFileReadNoSuchFileError 所以尝试清理你的项目并从一个干净的构建开始,如果你仍然有文件希望你能够阅读它。

于 2013-10-14T06:49:13.497 回答
0

我找到了答案。我获取该文件的内容。使用这个。

NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *docsDir = [dirPaths objectAtIndex:0];
    databasePath = [[NSString alloc] initWithString: [docsDir stringByAppendingPathComponent:strLastpath]];
    NSError *theError = nil;

NSString *fileStering = [[NSString alloc]initWithContentsOfFile:databasePath encoding:NSISOLatin1StringEncoding error:&theError];
于 2013-10-14T06:31:47.667 回答