2011-07-06 15 views
0

iPhoneの次のコードを使用して、iPhoneプロジェクトリソースフォルダに保存されているファイルに文字列を書き込みます。私はその読み込みデータを正常に読み込もうとしますが、私はそのファイルを書きませんが、私には何のエラーも与えません。文字列がファイルに書き込まれていません - iPhone

これは私のコードです:

NSString *myString; //Assuume the string you want to write is this 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"myfile.txt"]; 
[myString writeToFile:path atomically:YES]; 

誰もが導くことができるしてください。

+0

誰でも手伝ってください! – Shah

+0

'writeToFile:atomically:encoding:error:'メソッドを使ってみましたか?エラーを返します。それは助けになるかもしれません。 –

+0

あなたは24分後に答えを期待するよりももう少し患者になる必要があります! writeToFile:atomically:encoding:errorを使用して試してみましたが、戻ってきたエラーメッセージは何ですか? –

答えて

0

writeToFile:atomically:がiOS 2.0でdepredecatedされました。 writeToFile:atomically:encoding:error:を代わりに使用してください。 NSLog()関数など、文字列の内容をチェックする必要があります。不適切な初期化は、失敗を引き起こす可能性があります。 OS Xから来る

NSLog(@"%@", myString); 
[myString writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:NULL]; 
+0

はい、それはデータ.. ..と私はエンコーディングとエラーを使用しても、それはまだファイルに書いていないを使ってみました... – Shah

+0

私はwriteToFileであなたの質問からコードをテストしました: :エラー:。できます。ディスクに空き容量がありますか?あなたは正しいディレクトリにあるファイルを探していますか? –

+0

m done ... wid that thankss – Shah

1
- (void) testStringReadWrite { 
    NSString *myString = @"abcd efgh"; 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSString *path = [documentsDirectory stringByAppendingPathComponent:@"myfile.txt"]; 
    CFShow(path); 
    NSError *error = nil; 

    [myString writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error]; 
    if (error) { 
     NSLog(@"%@",error); 
    } 


    NSString *readString = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error]; 
    if (error) { 
     NSLog(@"%@", error); 
    } else { 
     CFShow(readString); 
    } 

} 
0

ちょうど私の2セントは、私の代わりにwriteToFile()writeToURL()を呼び出すために使用しています。 iOSで働いていたのはwriteToFile()です。

関連する問題