2013-10-14 95 views
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.) 

回答

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]; 
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]; 

在这里你可以得到的结果字符串中的结果。

1

可可错误260是一个NSFileReadNoSuchFileError,意思是无法在您指定的路径上找到该文件。

问题是你的路径仍然包含编码空间(%20),因为你将它基于带有路径的URL.use URL。

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]; 
0

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

相关问题