2012-11-05 81 views
0

我試圖使用stringWithString:stringWithContentsOfFile將字符串保存到文件中,然後將其讀回。這似乎是它應該是很簡單的,但stringWithContentsOfFile對象返回的是一個nulliPhone嘗試使用NSSTring類將字符串保存到文件

代碼

// test strings 
NSString *s=[ NSString stringWithString:@"hi"]; 
[ s writeToFile:@"test.txt" atomically:TRUE]; 

NSString *g=[ NSString stringWithContentsOfFile:@"test.txt"]; 
+0

問題是? – Bot

+0

你可以嘗試一下你的test.txt文件的絕對路徑嗎?另外,請參閱http://stackoverflow.com/questions/9979321/contentoffile-path-gives-null –

+0

首先,'stringWithString'是無意義的,除非您的源字符串是可變的,並且您想要一個不可變的版本。你可以簡單地說'NSString * s = @「hi」;'。 –

回答

1

與您的代碼,它會試圖保存在根目錄中的test.txt文件,並我們無法訪問根目錄。保存文件的唯一方法是將其寫入應用程序文檔目錄中:

NSString *path = [NSString stringWithFormat:@"%@/test.txt", [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]]; 
[s writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:NULL]; 
+1

還注意到,在iOS 6中不贊成使用'writeToFile:(NSString *)'(BOOL)編碼:(NSStringEncoding)錯誤:(NSError **)''原子地寫入'writeToFile:(NSString *):(BOOL)'' – jere

+0

你完全正確,我編輯了我的答案。 – Ashbay

相關問題