替换系统流--System.out

本文介绍如何在Java中替换默认的System.out流,并提供了一个具体的代码示例,展示如何将输出重定向到文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统流:

—System.out

—System.in

—System.err

这3个流是java.lang.System类中的静态成员(译者注:这3个变量均为final static常量),并且已经预先在JVM启动的时候初始化完成,你依然可以更改它们。只需要把一个新的InputStream设置给System.in或者一个新的OutputStream设置给System.out或者System.err,之后的数据都将会在新的流中进行读取、写入。

可以使用System.setIn(), System.setOut(), System.setErr()方法设置新的系统流。


替换System.out,代码:

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.PrintStream;

public class NewSystemOut {

	public static void main(String[] args){
		try {
			OutputStream os = new FileOutputStream("C:\\Users\\wangz\\Desktop\\out.txt");
			
			PrintStream ps = new PrintStream(os);
			
			System.setOut(ps);
			
			int i = 10;
			while(true){
				i--;
				System.out.append("Hello world!!!\r\n");
				if(i == 0)
					break;
			}
			System.out.flush();
		} catch (FileNotFoundException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}
	}
}

结果,out.txt

Hello world!!!
Hello world!!!
Hello world!!!
Hello world!!!
Hello world!!!
Hello world!!!
Hello world!!!
Hello world!!!
Hello world!!!
Hello world!!!

原文:http://ifeve.com/java-io-system-in-system-out-system-err/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值