import java.io.IOException; import java.io.InputStream; /** *读取键盘录入的数据,并打印在控制台上。 * *键盘本身就是一个标准的输入设备, *对于Java而言, */ public class ReadKey { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // readKey(); readKey_2(); } public static void readKey() throws IOException { InputStream in = System.in; int ch = in.read(); System.out.println(ch); int ch1 = in.read(); System.out.println(ch1); int ch2 = in.read(); System.out.println(ch2); } /** * 获取用户键盘录入的数据, * 并将数据变成大写显示在控制台上, * 如果用户输入的是over,则结束键盘录入 * * 思路: * 1,因为键盘录入只读取一个字节,要判断是否是over,需要先将读到的字节拼成字符串 * 2,那就需要一个容器。可以使用StringBuilder * 3,在用户回车之前将录入的数据变成字符串判断即可。 * @throws IOException */ public static void readKey_2() throws IOException { //创建容器 StringBuilder sb = new StringBuilder(); //获取键盘读取流 InputStream in = System.in; //定义变量记录读取到的字节,并循环读取。 int ch = 0; while((ch = in.read())!=-1){ //在存储之前需要判断是否是换行标记,因为换行标记不存 if(ch == ‘\r‘) continue; if(ch == ‘\n‘){ String temp = sb.toString(); if("over".equals(temp)) break; System.out.println(temp.toUpperCase()); sb.delete(0,sb.length()); }else{ sb.append((char)ch); } } } }
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; public class TransStreamDemo { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { //字节流 InputStream in = System.in; //将字节转换成字符的桥梁,即转换流。 InputStreamReader isr = new InputStreamReader(in); //字符流 BufferedReader bufr = new BufferedReader(isr); String line = null; while((line=bufr.readLine())!=null){ if("over".equals(line)){ break; } System.out.println(line.toUpperCase()); } } }
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; public class TransStreamDemo { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { //字节流 InputStream in = System.in; //将字节转换成字符的桥梁,即转换流。 InputStreamReader isr = new InputStreamReader(in); //字符流 BufferedReader bufr = new BufferedReader(isr); OutputStream out = System.out; OutputStreamWriter osw = new OutputStreamWriter(out); BufferedWriter bufw = new BufferedWriter(osw); String line = null; while((line=bufr.readLine())!=null){ if("over".equals(line)){ break; } bufw.write(line.toUpperCase()); bufw.newLine(); bufw.flush(); } } }
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class TransStreamDemo { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in)); 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(); } } }
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class TransStreamDemo { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { BufferedReader bufr = new BufferedReader(new InputStreamReader(new FileInputStream("a.txt"))); BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("b.txt"))); String line = null; while((line=bufr.readLine())!=null){ if("over".equals(line)){ break; } bufw.write(line); bufw.newLine(); bufw.flush(); } } }
原文:http://www.cnblogs.com/lingfengblogs/p/4190770.html