0
:NSInputStream 읽기 : 최대 길이 :이 같은 somethng이, 데이터를 읽을 수 없습니다, -1 반환 목표 C에서
uint8_t f[400000];
NSString *Str;
unsigned int count = 0;
NSError* error = nil;
Str = [[NSString alloc]initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Test" ofType:@"txt"] encoding:NSUTF8StringEncoding error:&error];
@try {
NSInputStream *fin = [NSInputStream inputStreamWithData:[Str dataUsingEncoding:NSUTF8StringEncoding]];
count = [fin read:f maxLength:400000];
}
@catch (NSException * e) {
NSLog(@"Exception: %@", e);
}
@finally {
NSLog(@"finally");
}
내가 nsinputstream
에 nsstring
변환하고를 다음의 내용을 읽으려고
그러나 코드를 디버그 한 후 count
에 -1이 있습니다. 즉, 읽는 동안 오류가 발생했습니다. 내가 뭘 잘못하고 있는지 이해가 안돼! 누군가 나를 도울 수 있습니까?
참고 : Test.txt
은 콘텐츠가 "Hello"로 표시된 일반 텍스트 파일이며 디버깅은 Str
이 콘텐츠로 초기화되었음을 보여줍니다. 즉, try
블록에 문제가 있음을 의미합니다.
도움을 주시면 감사하겠습니다.
위임을 설정하고 실행 루프 ([참조] (https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/)에서 입력 스트림을 예약해야합니다. Streams/Articles/ReadingInputStreams.html)). 대신에'NSFileManager'를 사용하십시오. – Droppy
예 트릭을 만들었습니다 – Sibir
또한 400K'auto' 변수를 만드는 것은 나쁜 생각입니다 ;-) – Droppy