重定向标准输入/输出一共有三个方法
setErr 重定向“标准”错误输出流
setIn 重定向“标准”输入流
setOut 重定向"标准"输出流
下面使用重定向输出流把System.out输出重定向为向文件输出,而不是在屏幕上输出
import java.io.*;public class RedirectOut{ public static void main(String[] args) { PrintStream ps = null; try { //一次创建PrintStream输出流 ps = new PrintStream(new FileOutputStream("out.txt")); //将标准输出重定向到ps输出流 System.setOut(ps); //向标准输出一个字符串 System.out.println("普通字符串"); //向标准输出输出一个对象 System.out.println(new RedirectOut()); } catch (IOException ex) { ex.printStackTrace(); } finally { if(ps != null) { ps.close(); } } }}
下面的System.in输入被重定向,本来是使用键盘输入为标准输入,而使用重定向后,则是使用RedirectIn.java文件作为标准输入源
import java.io.*;import java.util.Scanner;public class RedirectIn{ public static void main(String[] args) { FileInputStream fis = null; try { //一次创建PrintStream输出流 fis = new FileInputStream("RedirectIn.java"); //将标准输出重定向到pis输入流 System.setIn(fis); //使用System.in创建Scanner对象,用于获取标准输入 Scanner sc = new Scanner(System.in); //增加下面一行将只把回车作为分隔符 sc.useDelimiter("\n"); //判断是否还有下一个输入项 while(sc.hasNext()) { //输出输入项 System.out.println("键盘输入的内容是:" + sc.next()); } } catch (IOException ex) { ex.printStackTrace(); } finally { if(fis != null) { try { fis.close(); } catch (IOException ex) { ex.printStackTrace(); } } } }}
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow