黑马程序员技术交流社区
标题:
键盘录入,并且输出
[打印本页]
作者:
大大的心
时间:
2014-12-4 21:04
标题:
键盘录入,并且输出
/*
* 字符流:
* reader
* writer
*
* BufferedWriter
* BufferedReader
*
*
*
* 字节流:
* InputStream
* OutputStream
*
*BufferedInputStream
*BuffeedOutputStream
*
*
* 通过刚才的键盘录入一行数据并打印其大写,发现其实就是读一行数据的原理。也就是readLine方法。
*
* 能不能直接使用readLIne方法完成键盘录入一行数据的获取呢》
*
* readLine方法是BufferedReader方法。
* 而键盘录入的read方法是字节流InputStream的方法。
*
* 那么能不能将字节流转成字符流,再使用字符流的缓冲区的readLIne方法呢?
*/
import java.io.*;
class TransStreamDemo
{
public static void main(String[] args)throws IOException
{
//获取键盘录入对象
// InputStream in=System.in;
//将字节流对象转成字符流对象,使用转换流InputStreamReader
// InputStreamReader isr=new InputStreamReader(in);
//为了提高效率,将字符串缓冲区技术高效操作,使用BufferedReader
// BufferedReader bufr =new BufferedReader(isr);
//键盘录入最常见写法:
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
//OutputStream out=System.out;//OutputStream是字符流通向字节流的桥梁。
//OutputStreamWriter osw=new OutputStreamWriter(out);
//BufferedWriter bufw=new BufferedWriter(osw);
//3句变1句:
BufferedWriter bufw=new BufferedWriter(new OutputStreamWriter(System.out));
String line=null;
while((line=bufr.readLine())!=null)
{
if("over".equals(line))
break;
bufw.write(line.toUpperCase());
bufw.newLine();
bufw.flush();
}
bufr.close();
}
/*方式1:
public static void main(String[] args)throws IOException
{
//获取键盘录入对象
InputStream in=System.in;
//将字节流对象转成字符流对象,使用转换流InputStreamReader
InputStreamReader isr=new InputStreamReader(in);
//为了提高效率,将字符串缓冲区技术高效操作,使用BufferedReader
BufferedReader bufr =new BufferedReader(isr);
String line=null;
while((line=bufr.readLine())!=null)
{
if("over".equals(line))
break;
System.out.println(line.toUpperCase());
}
bufr.close();
}
*/
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2