package com.gdy.file;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.Scanner;
/**
* 重定向标准输入输出
* System类中提供了三个重定向标准输入输出的方法
* static void setErr(PrintStream err):重定向"标准"错误输出流
* static void setIn(InputStream in):重定向"标准"输入流
* static void setOut(PrintStream out):重定向"标准"输出流
*/
public class RedirectInOrOut {
/**
* 通过System.out重定向输出到文件中,而不是屏幕上输出
*/
public static void redirectOut(){
try {
//一次性创建PrintStream输出流
PrintStream ps = new PrintStream(new FileOutputStream("out.txt"));
//将标准输出重定向到ps输出流
System.setOut(ps);
//向标准输出输出一个字符串
System.out.println("普通字符串");
//向标准输出输出一个对象
System.out.println(new RedirectInOrOut());
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
/**
* System.in重定向到指定文件,而不是键盘输入
*/
public static void redirectIn(){
try {
FileInputStream fis = new FileInputStream("out.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());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// redirectOut();
redirectIn();
}
}
java基础-重定向输入输出流
最新推荐文章于 2023-09-09 21:01:30 发布