重定向标准输入/输出

Java的标准输入,输出分别是通过System.in和System.out来代表.默认情况下他们分别代表键盘和显示器.

System类里提供了3个重定向标准输入,输出的方法.

  1. static void setErr(PrintStream err):重定向"标准"错误输出流.
  2. static void setIn(InputStream in):重定向"标准"输入流
  3. static void setOut(PrintStream out):重定向"标准"输出流.

下面的程序通过重定向标准输出流,将System.out的输出重定向到文件输出,而不是屏幕上输出.运行程序后D盘下有文件生成.

package org.credo.io;

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

/**
 * <p>Description: 重定向标准输出流,将System.out的输出重定向到文件输出,而不是屏幕上.</p>
 * @author <a href="zhaoqianjava@qq.com">Credo</a>
 */
public class RedirectOut {

	public static void main(String[] args) throws FileNotFoundException {
		//一次性创建PrintStream输出流
		PrintStream ps=new PrintStream(new FileOutputStream("D://test1.txt"));
		//将标准输出重定向到PS输出流
		System.setOut(ps);
		//向标准输出输出一个字符串
		System.out.println("普通字符串");
		System.out.println(new RedirectOut());
	}
}
下面是重定向标准输入,从而可以把System.in重定向到指定文件,而不是键盘输入.首先创建了一个FileInputStream输入流,并使用System的setIn方法将系统标准输入重定向到该文件输入流.运行程序,直接输出的是文本文件的内容,表明程序不再使用键盘作为输入,而是使用文本文件作为标准输入源.

package org.credo.io;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class RedirectIn {

	public static void main(String[] args) throws FileNotFoundException {
		FileInputStream fis=new FileInputStream("D://test.txt");
		//将标准输入重定向到fis输入流
		System.setIn(fis);
		//使用System.in创建Scanner对象,用于获取标准输入
		Scanner sc=new Scanner(System.in);
		//增加下面一行只把回车作为分隔符
		sc.useDelimiter("\n");
		//判断是否还有下一个输入项
		while(sc.hasNext()){
			//输出输入项
			System.out.println("键盘输入的内容是:"+sc.next());
		}
	}

}

转载于:https://my.oschina.net/zhaoqian/blog/103731

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值