1.java获得命令行的输出
1 ByteArrayOutputStream bytes=null; 2 System.setOut(new PrintStream(bytes)); 3 4 //重新设置输出到命令行 5 6 PrintStream console=null; 7 console=System.out; 8 System.setOut(console);
2.java从代码中写入命令行
1 Byte[] bytes={'1',' ','2',' ','3','\n'}; 2 ByteArrayInputStream input=new ByteArrayInputStream(bytes); 3 System.setIn(input); 4 5 6 //从另一端解析输入 7 8 Scanner in=new Scanner(System.in); 9 String line=in.nextLine(); 10 String [] arrays=in.split(" ");
需要注意的问题:
1.byteArrayInputStream只接受byte数组的类型。
扩展:
byte、char、string之间的区别
1.byte是字节数据类型,是有符号的,占一个字节 -128-127
2.char是字符数据类型,是无符号的,占2个字节。0-65535
3.byte不可以表示中文字符 e.g:’人‘
4.对于字符型 byte和char可以相互转化。
system.out.println();中输出的assii码
byte g = 'b'; //b对应ASCII是98 char h = (char) g; char i = 85; //U对应ASCII是85 int j = 'h'; //h对应ASCII是104 System.out.println(g); System.out.println(h); System.out.println(i); System.out.println(j);