2011-07-06 2 views
0

iPhone에서 다음 코드를 사용하여 iPhone 프로젝트 리소스 폴더에 저장된 파일에 문자열을 쓰고 있습니다. 내가 그 데이터를 성공적으로 읽으려고 할 때, 비록 내가 그 어떤 오류도 내지 않는 그 aloso가 있지만 그 파일을 쓰지 않는 것을 쓰려고 할 때.문자열이 파일에 쓰여지고 있지 않습니다 - 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 귀하의 질문에 코드를 테스트 : atomically : 인코딩 :오류:. 그것은 작동합니다. 디스크에 여유 공간이 있습니까? 올바른 디렉토리에서 파일을 찾으십니까? –

+0

m 완료 ... wid 그 고마워요. – 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

그냥 내 두 센트, 내가 대신 writeToFile()writeToURL()를 호출하는 데 사용하고있다. 밖으로 나가면, writeToFile()은 iOS에서 작동했던 것입니다.

관련 문제