2012-12-13 21 views
0

在我的應用程序將數據寫入一個文件,我已經放在一個空錯誤而在iphone

  1. MYFILE.TXT

當我有互聯網連接,我從網上JSON數據並保存JSON字符串在它下面的代碼

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"myFile" ofType:@"txt"]; 
[myString writeToFile:filePath automatically:YES encoding:NSUTF... error:nil]; 

//now while retrieving it when no internet connection 
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"myFile" ofType:@"txt"]; 
NSString *myString = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF.. error:nil]; 

@""現在MyString的回報......爲什麼我沒能寫入數據?不管你想要做

問候

+0

使用的是哪種語言?這不能是Obj-c! –

回答

1

是不可能的(或至少極力勸阻)來更新應用程序包文件。

如果您正在下載文件並希望將它們存儲在設備上,則應使用Documents目錄。你可以得到路徑與此目錄:

- (NSString *)getDocumentsDirectory { 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    return [paths objectAtIndex:0]; 
} 
0

首先檢查天氣內容獲取寫入到文件。您可以在xcode中查看該文件。 我建議當你運行應用程序時創建這個空文件。然後您可以輕鬆讀取和寫入該文件。

嘗試使用下面的代碼:

NSError* error = nil; 
NSString* jsonFileName = [NSString stringWithFormat:@"myfile"]; 
NSString* jsonPath = [[NSBundle mainBundle] pathForResource:jsonFileName  
    ofType:@"txt"]; 
NSString* jsonString = [NSString stringWithContentsOfFile:jsonPath 
      encoding:NSUTF8StringEncoding error:&error]; 

Documents目錄:

寫入文件

NSArray *paths = NSSearchPathForDirectoriesInDomains 
     (NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 

    //make a file name to write the data to using the documents directory: 
    NSString *fileName = [NSString stringWithFormat:@"%@/textfile.txt", 
                documentsDirectory]; 
    //create content - four lines of text 
    NSString *content = @"One\nTwo\nThree\nFour\nFive"; 
    //save content to the documents directory 
    [content writeToFile:fileName 
        atomically:NO 
          encoding:NSStringEncodingConversionAllowLossy 
            error:nil]; 

顯示內容:

NSArray *paths = NSSearchPathForDirectoriesInDomains 
        (NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 

    //make a file name to write the data to using the documents directory: 
    NSString *fileName = [NSString stringWithFormat:@"%@/textfile.txt", 
                documentsDirectory]; 
    NSString *content = [[NSString alloc] initWithContentsOfFile:fileName 
                usedEncoding:nil 
                 error:nil];