java标准流_java 标准流

标准输入流:  System.in   默认表示的是键盘录入

标准输出流:  System.out  默认表示的是屏幕输出

Eg:

package june6D;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.PrintStream;

public class SyetemDemo {

public static void main(String[] args) throws IOException {

/**

*  标准流: 标准输入流: System.in 默认表示的是键盘录入

标准输出流: System.out 默认表示的是屏幕输出

*

* 若现在我输出不想打印在屏幕上,怎么办?

* 若现在我不想通过键盘来录入数据,有怎么办?

*

* 流的重定向: static void setOut(PrintStream out) 重新分配“标准”输出流。 static void

* setIn(InputStream in) 重新分配“标准”输入流。

*/

System.out.println("123456789");//最普通的打印

System.err.println("123652");// 同样是一种输出流,打印出的是123652

/**

* static void setOut(PrintStream out) 重新分配“标准”输出流。

*/

//输出流就被重新定义到了文件,而不是屏幕

System.setOut(new PrintStream("68Demo.txt"));// 只有在定义过后才生效,所以上面的还是会输出到控制台

System.out.println("AAAA");

System.out.println("BBBB");//就输出了在文件里

int i = System.in.read();// 接受从键盘输入的数据,写在最前面(没有任何重新分配)才有效

System.out.println("i所对应的是:" + (char) i);// 把它转换为字符型

System.out.println(i);

/**

* 重新分配,由标准键盘输入变为由文件输入

*/

System.setIn(new FileInputStream("copy6.4"));//备注:打印的是文件copy6.4中的数据,而且打印在文件68Demo.txt中。

byte[] buff = new byte[1024];

int len = 0;

while ((len = System.in.read(buff)) != -1) {

System.out.println(new String(buff, 0, len));// 此时不会打印在控制台上,因为上面已经重新定义了由打印到屏幕上转换为打印到文件里

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值