目录

Java文件操作八将控制台输出重定向到txt文件

【Java文件操作(八)】将控制台输出重定向到txt文件

我的博客——Java文件操作系列


将控制台输出重定向到txt文件——方法一

在Linux部署 javaweb 项目时,无法像eclipse那样,方便地在控制台看到运行过程中使用 System.out.println 输出的结果。

而通过重定向,可以将内容输出至txt文件,方便查看。

代码

package cn.hanquan.test;

import java.io.BufferedOutputStream;
import java.io.FileDescriptor;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;

public class Printer {
	public static void main(String[] args) throws FileNotFoundException {
		// 普通的控制台输出
		PrintStream ps = System.out;
		ps.println("before");`在这里插入代码片`

		// 将输出重定向到文件
		ps = new PrintStream(new BufferedOutputStream(new FileOutputStream("print.txt")), true);
		System.setOut(ps);
		System.out.println("change");

		// 返回到控制台输出
		System.setOut(new PrintStream(new BufferedOutputStream(new FileOutputStream(FileDescriptor.out)), true));
		System.out.println("change back");
	}
}

运行效果

https://i-blog.csdnimg.cn/blog_migrate/5600d1263f537f607ab16ed310cfab94.png


将控制台输出重定向到txt文件——方法二

使用 PrintWriter

代码

package cn.hanquan.test;

import java.io.BufferedOutputStream;
import java.io.FileDescriptor;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.io.PrintWriter;

public class Printer {
	public static void main(String[] args) throws FileNotFoundException {
		// PrintWriter
		PrintWriter pw = new PrintWriter(new BufferedOutputStream(new FileOutputStream("print.txt")), true);
		pw.println("change");

		// 普通控制台输出不变
		System.out.println("still here");
	}
}

运行效果

https://i-blog.csdnimg.cn/blog_migrate/325bf50c1a02087bd4bce6b5429ee8b1.png