텍스트 파일을 UITextView
textView
으로 가져 오는 데 사용하는 코드는 다음과 같습니다.알 수없는 인코딩의 텍스트 파일을 iPhone의 NSString에 안정적으로 가져 오려면 어떻게해야합니까?
미리 파일의 인코딩을 알 수 없기 때문에 참조로 인코딩 값을 저장하는 -stringWithContentsOfFile:usedEncoding:error:
메서드를 사용합니다. 내가 인코딩을 일단
, 나는 그 오류가 있다면, 몇 가지 정보 인쇄, 파일을 열고 : 파일이 UTF8 인코딩의 경우, 아이폰에
NSError *_error = nil;
NSStringEncoding _textEncoding;
NSString *_contentText = [NSString stringWithContentsOfFile:[baseURL path] usedEncoding:&_textEncoding error:&_error];
if (_error) {
NSLog(@" _error: %@", [_error userInfo]);
NSLog(@" _textEncoding: %d", _textEncoding);
}
textView.text = _contentText;
을의 텍스트보기는 파일 내용을 올바르게 표시합니다.
2010-07-23 02:57:46.786 App[9160:307] _error: {
NSFilePath = "/var/mobile/Applications/0AD83E02-7A2A-4665-8B8F-17E03EE12B9E/Documents/A+B.txt";
}
2010-07-23 02:57:46.791 App[9160:307] _textEncoding: 805298632
가 NSASCIIStringEncoding
를 들어 내가 일하지 805298632의 값을 얻어야한다 : 아이폰에
, 파일이 ASCII 인코딩 (
NSASCIIStringEncoding
) 인 경우는, 그때 이상한 문자열 인코딩 값을 얻는다.
을 통해 파일을 열면 이 나옵니다. 올바른 인코딩 값을 얻고 텍스트보기에 ASCII 인코딩 파일의 내용이 표시됩니다.
나는 올바른 구문이 있다고 생각하지만, 나는 분명히 뭔가를 놓친 것 같아. 여기서 내가 뭘 잘못하고 있니?
(현지화 된) 오류 설명을 확인 했습니까? – Eiko
파일이 장치의 Documents 폴더에 있습니까? 아마도'NSFileManager'를 사용하여 거기에 있는지 확인하십시오. – falconcreek
예, 파일이 확실히 존재합니다. 언급 한 바와 같이 파일을 UTF8로 인코딩하면 파일이 텍스트보기에서 올바르게 표시됩니다. –