0

在Objective 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");
}

我正在转换nsstring然后nsinputstream尝试阅读内容

但是在我调试代码之后,count里面有-1,即读取时发生错误。我不明白我在这里做错了什么!有人可以帮帮我吗。

注意Test.txt是一个纯文本文件,内容只是“Hello”,调试节目Str是用内容初始化的。这意味着try块中有问题。

任何帮助表示赞赏。

4

1 回答 1

1

你没有打开直播。如果不先打开它,您就无法读取/写入 a NSStream(NSInputStream并且NSOutputStream都是 ) 的子类。NSStream只需open在读取之前调用您的流对象。

于 2015-06-29T11:42:51.660 回答