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();

    }
}
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。