2012-01-29 30 views
0

您好,我試圖將文本值保存爲二進制文件並從該文件中讀取。我使用下面的代碼,我得到了文件目錄中的二進制文件,但是當從文件中讀取數據時只有一些數字,請幫助它的緊急。 對於寫創建一個二進制(.bin)文件並從iphone中的文件中讀取值

NSString *documentsDirectoryPath = [self performSelector:@selector(tempDirectoryPath:) withObject:fileName_]; 
NSLog(@"%@",documentsDirectoryPath); 

if ([[NSFileManager defaultManager] isWritableFileAtPath:documentsDirectoryPath]) { 
    NSLog(@"content =%@",data_); 
    [data_ writeToFile:documentsDirectoryPath atomically:YES]; 
    return YES; 
} 

對於閱讀中,我使用下面的代碼,

NSString *documentsDirectoryPath = [self performSelector:@selector(tempDirectoryPath:) withObject:fileName_]; 

if ([[NSFileManager defaultManager] isReadableFileAtPath:documentsDirectoryPath]) { 
    NSMutableData *data_ = [NSMutableData dataWithContentsOfFile:documentsDirectoryPath]; 

    return data_; 
} 

我從data_中唯一的編號。

如何正確讀取.bin文件。

提取得到.bin.cpgz文件時,我得到.bin文件。我無法打開文件是什麼原因?代碼中有什麼錯誤? 我以這種方式傳遞字符串:

[self writeData:@"test string is here" toFile:@"mf.bin"]; 

感謝。

回答

0

聽起來像你需要將數據轉換爲可讀的數據。

NSString *myFile = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 

這原本假設你寫的是一個NSString的,如果它是一個對象,你將不得不使用該對象的適當的方法中的數據。