Iphone 读取文件';s从dropbox下载的内容-objective-c
我想读取并打印从dropbox下载的文件内容,但我的“readFile”方法打印空值。我确信该文件已成功下载Iphone 读取文件';s从dropbox下载的内容-objective-c,iphone,ios,objective-c,readfile,dropbox-api,Iphone,Ios,Objective C,Readfile,Dropbox Api,我想读取并打印从dropbox下载的文件内容,但我的“readFile”方法打印空值。我确信该文件已成功下载 -(void)download { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *f
-(void)download
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@", @"File.txt"]];
[[self restClient] loadFile:@"/File.txt" intoPath:filePath];
}
- (void)restClient:(DBRestClient*)client loadedFile:(NSString*)localPath
contentType:(NSString*)contentType metadata:(DBMetadata*)metadata {
[self readFile:@"File.txt"];
NSLog(@"File loaded into path: %@", localPath);
}
-(void)readFile:(NSString *)fileName
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fileNameData=[NSString stringWithFormat:@"%@",fileName];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:fileNameData];
NSString *str = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:NULL];
NSError *error;
NSString *str = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error];
NSLog(@"%@", error);
}
这就是输出:
---------******** CONTENT OF THE DOWNLOADED FILE *********------------(null)
我更新了捕获erorr的代码,我从stringWithContentsOfFile中得到此错误:
Error Domain=NSCocoaErrorDomain Code=261 "The operation couldn’t be completed. (Cocoa error 261.)" UserInfo=0x1669c2b0 {NSFilePath=/var/mobile/Applications/11B10727-E372-1147-26BD-1D24S60B8E54/Documents/File.txt, NSStringEncoding=4} 2013-08-05 22:06:03.229 DBApp[496:60b]
看起来您的代码正在读取一个名为“file.txt”的文件,而不是从Dropbox下载的实际文件。我错过什么了吗 编辑
根据下面的注释,错误似乎是261,与字符串编码有关。您可能需要尝试不同的编码,或确保文本文件按预期的方式编码。实际的文件名也是file.txt,从Dropbox下载的文件您应该在文件读写的断点处。我认为您的下载不起作用。所以您在日志中看到“文件加载到路径:File.txt”了吗?您还可以尝试从
stringWithContentsOfFile
捕获错误,以防其中有有用的内容。我从stringWithContentsOfFile获取此错误:错误域=NSCOCAERRORDOMAIN代码=261“操作无法完成。(Cocoa错误261)。”用户信息=0x1669c2b0{NSFilePath=/var/mobile/Applications/11B10727-E372-1147-26BD-1D24S60B8E54/Documents/File.txt,NSStringEncoding=4}2013-08-05 22:06:03.229 DBApp[496:60b]该文件包含一些非英语字符,我删除了这些字符,现在效果很好..非常感谢@smarx。。。