2012-06-10 73 views
0

我只是試着寫入目的C.這裏.txt文件是代碼:寫入到目標C文件

BOOL success = [str writeToFile:@"tmp/cool.txt" atomically:YES encoding:NSUTF8StringEncoding error:&error]; 

    if(success) 
    { 
     NSLog(@"done writing!"); 
    } 
    else 
    { 
     NSLog(@"writing failed: %@", [error localizedDescription]); 
    } 

這段代碼的輸出爲「文件夾cool.txt不存在」。我不明白這一點,因爲「.txt」會認爲它是文件。

我在做什麼錯?

+0

哪個平臺的OSX或iOS? – doNotCheckMyBlog

+0

進入什麼目錄?如果你沒有明確設置,很可能不是你期望的地方,因此子目錄tmp不存在。在寫入文件之前,您必須確保整個路徑層次結構存在。 – wadesworld

回答

4

我爲你寫了一個demo,假設你使用的是iOS。

NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"tmp"]; //get tmp path 
NSString *filePath = [path stringByAppendingPathComponent:@"cool.txt"]; 

NSString *str = @"hello world"; 
NSError *error; 
[str writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&error]; 

NSString *str1 = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error]; 
NSLog(@"%@", str1); 
0

假定您使用的iOS作爲平臺...

  1. 您需要首先獲得應用程序的文檔目錄,這樣就可以寫入到該目錄(可以使用圖書館或臨時目錄,但文件目錄是最常見的)

  2. 您必須確保'tmp'目錄存在於文檔目錄下。