System类中提供了重定向标准输入、输出的方法。
public class RedirectOut {
public static void main(String[] args) {
try (PrintStream ps = new PrintStream(new FileOutputStream("out.txt"))) {
// redirect the output to ps
System.setOut(ps);
System.out.println("hello");
System.out.println(new RedirectOut());
} catch (IOException e) {
e.printStackTrace();
}
}
} public class RedirectIn {
public static void main(String[] args) {
try (FileInputStream in = new FileInputStream(
"src/inputandoutput/RedirectIn.java")) {
System.setIn(in);
Scanner scan = new Scanner(System.in);
// only use \n as Delimiter
scan.useDelimiter("\n");
while (scan.hasNext()) {
System.out.println("content:" + scan.next());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
京公网安备 11010502036488号