如何从文档文件夹中的文件中获取数据

时间:2012-06-09 04:54:18

标签: iphone

我是xcode和Objective c的新手。

首先我在文档目录中创建了一个文件并创建了它,现在我需要的是如何从该文件中读取数据,例如文件是否包含特定字符串

我怎么能得到那个

4 个答案:

答案 0 :(得分:1)

您可以在此处关注我的答案,保存并检索plist文件

Array from File in XCode

答案 1 :(得分:0)

以下方法将文件的内容变为字符串。

+ (id)stringWithContentsOfFile:(NSString *)path
              usedEncoding:(NSStringEncoding *)enc
                     error:(NSError **)error

然后,您可以通过以下方式查明返回的字符串是否包含指定的子字符串:

NSRange textRange;
textRange =[string rangeOfString:@"ohai"];

if(textRange.location != NSNotFound) {

    //String contains substring "ohai"
}

希望这有帮助。

答案 2 :(得分:0)

与您编写的方式相同,您可以检索数据,假设您想从文档文件夹中获取图像,然后查看此代码 -

NSString *stringPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  NSUserDomainMask, YES)objectAtIndex:0]];
NSString *fileName = [stringPath stringByAppendingFormat:@"/image.jpg"];

//fileName is your image path and image.jpg is your image name which is saved in documents folder...
NSData *retrieveData = [NSData dataWithContentsOfFile:fileName];
UIImage *newImage = [UIImage imageWithData: retrieveData];
在这种情况下

而不是

[data writeToFile:fileName atomically:YES]; 

你必须写

NSData *retrieveData = [NSData dataWithContentsOfFile:fileName];

线。你可以获得所有类型的数据。

谢谢!!

答案 3 :(得分:0)

您可以通过以下方式从文档文件夹中的文件中读取数据:

 NSString *filePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/<pathofFile>"];
 NSString *fileContent = [[NSString alloc] initWithContentOfFile:filePath encoding:NSUTF8StringEncoding error:nil];

现在,您可以使用NSString方法在fileContent中搜索子字符串。