黑马程序员技术交流社区
标题:
IO流问题,请教高手解答
[打印本页]
作者:
张亮
时间:
2012-4-3 14:06
标题:
IO流问题,请教高手解答
本帖最后由 张亮 于 2012-4-3 14:13 编辑
public class ReadConsole2 {
public static void main(String[] args) {
//数组缓冲
byte[] b = new byte[1024];
//有效数据个数
int n = 0;
try{
while(true){
//提示信息
System.out.println("请输入:");
//读取数据
n = System.in.read(b);
//转换为字符串
String s = new String(b,0,n-2);
//将n-2改为n,在控制台输入quit,程序不能退出。
//判断是否是 quit
if(s.equalsIgnoreCase("quit")){
break; //结束循环
}
//回显内容
System.out.println("输入内容为:" + s);
}
}catch(Exception e){}
}
}
问题在红色文字部分。没弄明白这是为什么。请教高手解答
作者:
陈苓
时间:
2012-4-3 14:56
本帖最后由 格式化 于 2012-4-3 15:03 编辑
你自定义了数组缓冲区,如果n不减2那么程序就为true一直在等待读取,不会为false所以就不能退出.
自定义缓冲区应该这样;阅读性强
BufferedReader bufIn = new BufferedReader(new InputStreamReader(System.in));
String line = null;
while((line=bufIn.readLine())!=null){
if("over".equals(line))
break;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2