2013-08-05 6 views
0

Я хочу прочитать и распечатать содержимое файла, загружаемого из dropbox, но мой метод «readFile» печатает нуль. Я уверен, что файл загружен успешно.Чтение содержимого файла, загруженного из dropbox -объектива-c

-(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/Docume‌​nts/File.txt, NSStringEncoding=4} 2013-08-05 22:06:03.229 DBApp[496:60b] 

ответ

0

Это выглядит как ваш код читает файл под названием «File.txt», а не фактический файл, загруженный из Dropbox. Я что-то упускаю?

EDIT

Основываясь на комментариях ниже, это выглядит как ошибка 261, связана с струнной кодирования. Возможно, вы захотите попробовать другую кодировку или убедитесь, что текстовый файл закодирован так, как вы ожидаете.

+0

Фактическое имя файла также является File.txt, файл, загруженный из dropbox – amone

+0

Вы должны установить точку останова, где файл читается и записывается. Я думаю, что ваша загрузка не работает. – Mundi

+0

Итак, вы видите «Файл загружен в путь: File.txt» в журнале? Вы также можете попробовать захватить ошибку из 'stringWithContentsOfFile', если там что-то полезное. – smarx