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);
}

浙公网安备 33010602011771号