2013-08-05 52 views
0

我想讀取和打印從Dropbox下載的文件內容,但是我的「readFile」方法打印出null。我確定該文件已成功下載。讀取從Dropbox下載的文件內容-objective-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下載的實際文件。我錯過了什麼嗎?

編輯

基於下面的評論,它看起來像錯誤是261,與字符串編碼。您可能想要嘗試不同的編碼或確保文本文件按照您期望的方式進行編碼。

+0

實際文件名也是File.txt,文件從下拉框下載 – amone

+0

您應該斷點讀取和寫入文件的位置。我認爲你的下載不起作用。 – Mundi

+0

所以你看到「文件加載到路徑:File.txt」在日誌中?如果有一些有用的東西,你也可以嘗試從'stringWithContentsOfFile'中捕獲錯誤。 – smarx