public class RedirectOutputStream { public static void main(String[] args) { try { PrintStream out = System.out; //保存原输出流 PrintStream ps = new PrintStream("/log.txt"); //创建文件输出流 System.setOut(ps); //设置使用新的输出流 int age = 18; //定义整形变量 System.out.println("年龄变量成功定义,初始值为18"); String sex = "女"; //定义字符串变量 System.out.println("性别变量成功定义,初始值为女"); //整合两个变量 String info = "这是个"+sex+"孩子,应该有"+age+"岁了。"; System.out.println("整合两个变量为info字符串变量,其结果是:"+info); System.setOut(out); //恢复原有输出流 System.out.println("程序运行完毕,请查看日志文件。"); } catch (Exception e) { e.printStackTrace(); } } }
/** *本例中的system类的setout()方法改变了输出流 *system类的out、err和in成员变量是final类型的,不能直接赋值,要通过相应的方法来改变流 *1、setout()方法 *该方法用于重新分配system类的标准输出流,public static void setOut(PrintStream out) *参数说明 *out:新的PrintStream输出流对象 *2、setErr()方法 *该方法将重新分配system类的标准错误输出流 public static void setIn(InputStream in) *参数说明 *in:新的InputStream输入流对象 */
转载请注明原文地址: https://www.6miu.com/read-56966.html