java8--类PrintWriter--文件内容写入--println&print&printf

PrintWriter out = null;
try {
        out = new PrintWriter("./src/test/myfile.txt","UTF-8");
} catch (FileNotFoundException fileNotFoundException) {
        fileNotFoundException.printStackTrace();
} catch (UnsupportedEncodingException unsupportedEncodingException) {
        unsupportedEncodingException.printStackTrace();
}
out.println("第一行");
out.print("第二行前半句,");
out.print("第二行后半句");
out.println("");
out.printf("李一明年%d岁",20);
out.close();

效果图:




ps:
1.我在写入时不用close关闭时发现文件内容任然为空并没有真的写进文件
2.虽然文档中说PrintWriter在文件不存在时会自动创建,但我的idea还是强制我必须用try/catch包围新创建的PrintWriter对象捕获抛出文件未找到异常,在运行过程中我发现idea在报错的同时创建了文件并且完成了写入
3.输出到控制台是System.out.print或println或printf调用的是System类中的静态的PrintStream类型的变量out的print或println或printf方法
追溯:

#System.out.print();
System: public final static PrintStream out = null;
PrintStream:    public void print(double d) {
                      write(String.valueOf(d));
                }

#System.out.println();
System: public final static PrintStream out = null;
PrintStream:    public void println() {
                     newLine();
                }

#System.out.printf();
System: public final static PrintStream out = null;
PrintStream:    public PrintStream printf(String format, Object ... args) {
                     return format(format, args);
                }
posted @ 2025-01-02 19:06  基础狗  阅读(83)  评论(0)    收藏  举报