Java标准输入输出串流

在之前的HelloWorld程序中,您使用了System类中的静态对象out,它提供标准输出串流(Stream),会在程序开始执行之后自动开启并准备接受指定的数据,它通常对应至显示输出(Console、终端机输出)或其它的输出目的地,它可以被重定向至一个文件,您可以在执行程序时使用 '>>'将输出结果导向至指定的文件,例如:

java HelloWorld >> output.txt


上面的执行会将结果导向至output.txt,而不会在荧幕上显示"Hello! World!",output.txt中将会有输出结果"Hello! World"!。

除了标准输出串流out之外,Java程序在执行之后,还会开启标准输入串流in与标准错误输出串流err,下面先说明标准输入串流in

标准输入串流in也是用System类所提供的静态对象,在程序开始之后它会自动开启,对应至键盘或其它的输入来源,准备接受使用者或其它来源的输入,您可以使用read()方法来读取输入,不过通常很少直接使用它,而会使用一个Scanner对象为输入串流作后处理,方法在取得使用者输入

标准错误输出串流err也是在程序执行后自动开启,它会将指定的字符串输出至显示装置或其它指定的装置,与标准输出串流out不同的是,它会立即显示指定的(错误)讯息给使用者知道,例如即使您指定程序将结果重定向至文件,err输出串流的讯息并不会被重定向,而仍会显示在指定的显示装置上,下面这个例子给您一个简单的测试方式: 简介过了。

  • HelloWorld.java

public class HelloWorld {
    public static void main(String[]args) {
        System.out.println("Hello!World!");
        System.err.println("ErrorMessage Test");
    }
}


在编译程序之后,请如下执行程序,您会发现输出结果如下:

java HelloWorld >> output.txt
Error Message Test


开启output.txt之后,您会发现当中只有"Hello! World!"讯息,而Error MessageTest讯息并没有被导向至文件中,而是直接显示在Console(或终端机)中。

要重定向标准输出是用 '>', 标准输入则是'<',而 '>>' 除了重导标准输出之外,还有附加的功能,也就是会把输出附加到被导向的目标文件后头,如果目标文件本来不存在,那么效果就和 '>' 一样。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值