阅读量:0
是的,Java中的System.out.println()输出可以被重定向。你可以使用System.setOut()方法将System.out重定向到一个文件或其他输出流。这里有一个简单的例子,演示如何将System.out重定向到一个文件:
import java.io.FileOutputStream; import java.io.PrintStream; public class RedirectSystemOut { public static void main(String[] args) { try { // 创建一个文件输出流 FileOutputStream fos = new FileOutputStream("output.txt"); // 创建一个新的PrintStream对象,将输出重定向到文件 PrintStream ps = new PrintStream(fos); // 将System.out重定向到新的PrintStream对象 System.setOut(ps); // 现在,所有的System.out.println()调用都会被写入到output.txt文件中 System.out.println("Hello, World!"); // 关闭文件输出流和PrintStream对象 ps.close(); fos.close(); } catch (Exception e) { e.printStackTrace(); } } }
在这个例子中,我们首先创建了一个FileOutputStream对象,用于将输出写入到名为"output.txt"的文件。然后,我们创建了一个新的PrintStream对象,并将其与FileOutputStream关联。接下来,我们使用System.setOut()方法将System.out重定向到新的PrintStream对象。最后,我们关闭了文件输出流和PrintStream对象。
现在,当我们调用System.out.println()时,输出将被写入到"output.txt"文件中,而不是控制台。