day19-16-IO流(读取转换流)/day19-17-IO流(写入转换流)

需求:
通过键盘录入数据。
当录入一行数据后,就将该行数据进行打印。
如果录入的数据是over,那就停止录入

通过刚才的键盘录入一行数据并打印其大写,发现其实就是在读一行数据的原理。
也就是readLine方法,。
能不能直接使用readLine方法来完成键盘录入的一行数据的读取呢?

readLine方法是字符流BufferedReader类中的方法。

而键盘录入的方法是字节流InputStream的方法。
那么能不能将字节流转称字符流在使用字符流缓冲区的readLine方法呢?

import java.io.*;

public class TranStreamDemo
{
    public static void main(String[] args) throws IOException {
        //获取键盘录入对象。
//        InputStream is = System.in;
//
//
//        将字节流转换成字符流,使用转换流。InputStreamReader
//        InputStreamReader isr = new InputStreamReader(is);
//
//        为了提高效率,将字符串进行缓冲区技术高效操作,使用BufferedReader
//        BufferedReader br = new BufferedReader(isr);

        //键盘录入最常见的写法。
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));



//        OutputStream ips =System.out;
//        OutputStreamWriter isw = new OutputStreamWriter(ips);
//        BufferedWriter bfw = new BufferedWriter(isw);

        BufferedWriter bfw= new BufferedWriter(new OutputStreamWriter(System.out));

        String line1  = null;
        while((line1=br.readLine())!=null)
        {
            if ("over".equals(line1))
                break;
            bfw.write(line1.toUpperCase());
            bfw.newLine();
            bfw.flush();
        }

//
//        String line =null;
//
//        while ((line = br.readLine())!=null)
//        {
//            if ("over".equals(line))
//                break;
//            System.out.println(line.toUpperCase());
//        }
//        br.close();

    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容