重定向标准输入/输出

package cn.test;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.util.Scanner;

import org.junit.Test;

/*
 * 重定向标准输入/输出
 */
public class Demo6 {

	@Test
	//重定向标准输出,不从控制台输出,而是写到文件中
	public void redirectOut(){
		try {
			FileOutputStream fos = new FileOutputStream("D:/temp/test.txt");
			//创建PrintStream输出流
			PrintStream ps = new PrintStream(fos);
			//将标准输出重定向到ps输出流
			System.setOut(ps);
			//控制台不再输出hello,而是写到文件test.txt
			System.out.println("hello");
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
	}
	
	@Test
     //将使用文件作为标准输入,而不是键盘 public void rediretIn(){ try { FileInputStream fis = new FileInputStream("D:/temp/test.txt"); //将标准输入流重定向到fis输入流 System.setIn(fis); //创建Scanner对象,用于获取标准输入 Scanner sc = new Scanner(System.in); //只把回车最为分隔符 sc.useDelimiter(" "); while(sc.hasNext()){ System.out.println("键盘输入的内容是:" + sc.next()); } sc.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } }

  

原文地址:https://www.cnblogs.com/zydev/p/7192516.html