System.setOut(ps)重定义了输出流后,如何重定向控制台输出?
System.setOut(ps)重定义了输出流后,如何重定向控制台输出?
System.setOut(ps)这一设置的作用域是在哪到哪?
用完后,如何设置回标准输出?
import java.io.*;
public class TestSetout {
public static void main(String args[]) {
System.out.println("ok"); //这一句可以打印到控制台
print();
System.out.println("ok"); //以下5句就不知道哪去了.也没有打印到文件.
System.out.println("ok");
System.out.println("ok");
System.out.println("ok");
System.out.println("ok");
}
static void print(){
FileOutputStream out = null;
try{
out = new FileOutputStream("c:/java/kk.txt");
}catch(FileNotFoundException e) {
}
PrintStream ps = new PrintStream(out);
System.setOut(ps);
System.out.println("lasjflsdjflsdjfisjdfjsdfjsdoifj");
System.out.println("lasjflsdjflsdjfisjdfjsdfjsdoifj");
System.out.println("lasjflsdjflsdjfisjdfjsdfjsdoifj");
System.out.println("lasjflsdjflsdjfisjdfjsdfjsdoifj");
try{
ps.close();
out.close();
}catch(IOException e){ }
}
}