내 앱이 UTF-8 형식의 파일을 다운로드합니다. 파일 크기가 너무 커서 NSString initWithContentsOfFile
메서드를 사용하여 읽을 수 없습니다. 내가 가지고있는 문제는 NSFileHandle readDataOfLength
메서드가 지정된 바이트 수를 읽음으로써 UTF-8 문자의 일부만 읽게 될 수도 있다는 것입니다. 가장 좋은 해결책은 무엇입니까? iPhone에서 큰 UTF-8 파일을 읽으려면 어떻게해야합니까?
LATER
:그것이 다음과 같은 코드가 작동하는지 배의 로그에 기록하자
NSData *buf = [NSData dataWithContentsOfFile:path
options:NSDataReadingMappedIfSafe
error:nil];
NSString *data = [[[NSString alloc]
initWithBytesNoCopy:(void *)buf.bytes
length:buf.length
encoding:NSUTF8StringEncoding
freeWhenDone:NO] autorelease];
내 주요 문제는 인코딩이 아닌 파일을 읽는 작업과 관련 사실이었다.
이 파일의 크기는 얼마입니까? 메가 바이트? 기가 바이트? –
파일의 크기가 5MB인데 실제로는 문제가 있음을 알 수 없습니다. –