需求:
通過鍵盤錄入數據。
當錄入一行數據后,就將該行數據進行打印。
如果錄入的數據是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();
}
}