java 重定向句柄_重定向标准输入/输出 - ZhaoQian's Blog - OSCHINA - 中文开源技术交流社区...

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

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

static void setErr(PrintStream err):重定向"标准"错误输出流.

static void setIn(InputStream in):重定向"标准"输入流

static void setOut(PrintStream out):重定向"标准"输出流.

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

package org.credo.io;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.PrintStream;

/**

*

Description: 重定向标准输出流,将System.out的输出重定向到文件输出,而不是屏幕上.

* @author Credo

*/

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());

}

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值