从写Hello World开始,我们就开始使用System.out了。System.out是一个static final 的PrintStream对象。
引用一段jdk API document的内容:
/* PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。它还提供其他两项功能。与其他输出流不同,PrintStream 永远不会抛出 IOException;而是,异常情况仅设置可通过 checkError 方法测试的内部标志。另外,为了自动刷新,可以创建一个 PrintStream;这意味着可在写入 byte 数组之后自动调用 flush 方法,可调用其中一个 println 方法,或写入一个换行符或字节 (‘\n‘)。 PrintStream 打印的所有字符都使用平台的默认字符编码转换为字节。在需要写入字符而不是写入字节的情况下,应该使用 PrintWriter 类。 */
如果想把打印信息存入文件,简单的可以用windows下的命令 比如 java Test >test.txt
如果想通过代码实现,可以这样
import java.io.File; import java.io.FileNotFoundException; import java.io.PrintStream; public class TestPrint { public static void main(String[] args) { System.out.println("2222222222222"); PrintStream out = null; try { out = new PrintStream(new File("res/sss.txt")); } catch (FileNotFoundException e) { e.printStackTrace(); } System.setOut(out); System.out.println("11111111111"); } }
System.out毕竟是IO操作,会稍微耗时。Server端推荐Log4j,如果是Client端发布release版本的程序,最好还是都关掉。可以自己封装log工具类,如果没有封装,可以直接在程序开始执行System.out.close();这样就安全无痛了。