java System.out

从写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();这样就安全无痛了。

 

posted @ 2014-01-26 14:36  带狗狗带  Views(1402)  Comments(0Edit  收藏  举报