我在使用Buffered Reader时遇到了麻烦。如果我使用readline()并等到它变为null,它完全可以让我知道我已经阅读了所有需要阅读的内容,问题是readline剥离了换行符(\ n和\ r)在我的解析后创建其他问题。
我尝试使用读取maxbuf大小,并使用reader.ready()来判断是否有东西需要读取,但我无法区分它填充缓冲区(因为它无法释放目前很多)并且缓冲区不足,因为它没有数据。 Ready()只是表示读取操作不会被阻止,它似乎不区分数据缺失而只是没有准备好。想法?
由于
答案 0 :(得分:1)
通过废弃ready()调用来修复它; -1似乎是一个更安全的检查。发现一些在线声明,就绪()比无用更糟糕,我认为我同意。所以,现在如果我得到-1,我认为自己完成了,如果我得到0,我只是认为它还没有准备好;其他任何事情都是成功的,我一直持续到-1。
答案 1 :(得分:-1)
String line = in.readline();
line += '\n'; // or "\r\n" if you like