Java标准I/O

标准I/O

1 、标准I/O:参照Unix中“程序所使用的单一信息流”的概念,程序的输入都可以来自于标准输入,程序输出都可以发送到标准输出,所有的错误信息都可以发送到标准错误;
标准I/O的意义在于: 可以把程序串联起来,使一个程序的标准输出可以成为另一个程序的标准输入;
2、Java提供了 System.in、System.out、Sytem.err支持标准I/O模型;

3、 System.out、System.err被包装为PrintStream
      System.in是一个没有被包装过的InputStream
这意味着,可以直接使用前两者,而后者要包装后才可以使用;
①包装System.in
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
//Scanner stdin = new Scanner(System.in);     //Scanner有便捷的包装构造方法;
String s;
while((s = stdin.readine())!= null && s.length != 0)
     System.out.println(s);

②将System.out装换为PrintWriter
PrintWriter out = new PrintWriter(System.out,true);  //true:println、print、format方法将自动刷新缓冲流;
out.println("Hello world!");



4、重定向标准I/O
System.setIn(InputStream):
System.setOut(PrintStream);
System.setErr(PrintStream);
示例代码:
BufferedInputStream in = new BufferedInputStream(new FileInputStream("demo.java"));
PrintStream out = new PrintStream(new BufferedOutputStream(new FileOutputStream("tesOUt.out")));
PrintStream console = System.out;          //对控制台标准输出进行标注
System.setIn(in);          //后面可以使用Scanenr等对System.in进行读取操作(适用于读取大量测试数据)
System.setOUt(out);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s;
while((s = br.readLine())!= null)
     System.out.printlns(s);     
out.close();
in.close();
System.setOut(console);  //恢复标准输出到控制台;

//在以上代码中,System.in、System.out实际充当了一个数据流的中转站;






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值