版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/myloveprogrmming/article/details/82871134
package ioStream;
import java.io.*;
/*
* 标准输入流:System.in,得到一个标准输入对象(System是类 in out是属性):调用这个语句时,此流已经被打开了,准备提供数据,这个流默认对应于键盘的输入
* 或者说是由主机或用户指定的另一个输入
* 标准输出流:System.out
*
*/
public class Demo5 {
public static void main(String[] args) throws IOException {
InputStream inputStream=System.in;//数据的出发点是键盘,目的地是内存
//这里可以直接得到标准输入流对象并已经绑定了输入文件:键盘、
//注意:标准输入流是一个字节流
//int num=inputStream.read();//read()方法是一个阻塞式的方法,会一直等待用户输入
//System.out.println((char)num);
/*实例:从键盘不断接受字节的程序
* 要求:一行一行的接收
*/
myReadLine(inputStream);
}
public static void myReadLine(InputStream inputStream) throws IOException {
StringBuffer sb=new StringBuffer();
while(true) {
int num=inputStream.read();
if(num=='\r')
continue;
else if(num=='\n') {
//当输入over的时候认为是结束
System.out.println(sb.toString());
if(sb.toString().equals("over"))
break;
sb.delete(0,sb.length());//清空,从哪道哪,这里是从头到尾
}
else
sb.append((char)num);
}
inputStream.close();
}
}