是的,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"文件中,而不是控制臺。