IO流之标准输出流
IO流之标准输出流
改变输出方向
以下代码使用PrintSream往硬盘写文件:
package com.javalearn.io.standard;
import java.io.FileOutputStream;
import java.io.PrintStream;
public class TestForPrintStream {
public static void main(String[] args) throws Exception{
PrintStream printStream = new PrintStream(new FileOutputStream("file1"));
System.setOut(printStream); // 输出方向默认为控制台,现在把输出方向从控制台改为文件
System.out.println("我滴个妈");
}
}
输出文件内容:
我滴个妈
基于标准输出流的log工具
以下代码使用PrintStream编写记录系统操作的log工具:
package com.javalearn.io.log;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestForLog {
public static void main(String[] args) {
Logger.log("打开QQ");
}
}
class Logger {
public static void log(String msg) {
try {
PrintStream out = new PrintStream(new FileOutputStream("file1",true));
System.setOut(out);
Date nowTime = new Date(); //获取时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS"); // 定义格式:【年-月-日 时:分:秒 毫秒】
String strTime = sdf.format(nowTime); //时间+格式
System.out.println(strTime+":"+msg);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
输出文件结果:
我滴个妈
2021-12-05 11:16:00 895:打开QQ