您的位置:首页 > 其它

重定向标准输入/输出

2017-07-17 00:16 190 查看
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("\n");
while(sc.hasNext()){
System.out.println("键盘输入的内容是:" + sc.next());
}
sc.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}

}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: