printwriter

向文本输出流打印对象的格式化表示形式
printwriter是向文本输出流打印对象的格式化表示形式。此类实现在PrintStream中的所有 与PrintStream类不同，如果启用了自动刷新，则只有在调用 println、printf 或 format 的其中一个方法时才可能完成此操作，而不是每当正好输出换行符时才完成。这些方法使用平台自有的行分隔符概念，而不是换行符。 此类中的方法不会抛出 I/O 异常，尽管其某些构造方法可能抛出异常。客户端可能会查询调用checkError()是否出现错误。
基本信息
java
类 PrintWriter
java.lang.Object
java.Writer
java.PrintWriter
所有已实现的接口：
Closeable, Flushable,Appendable。
public class PrintWriter extends Writer向文本输出流打印对象的格式化表示形式。此类实现在 PrintStream 中的所有 print 方法。它不包含用于写入原始字节的方法，对于这些字节，程序应该使用未编码的字节流进行写入。
客户端可能会查询调用 checkError() 是否出现错误。
从以下版本开始：JDK1.1
摘要
protected Writer out
此 PrintWriter 的底层字符输出流。
从类 java.Writer 继承的字段
lock
变量
public PrintWriter(Writer out,
boolean autoFlush)创建新 PrintWriter。
参数：
out - 字符输出流
autoFlush - boolean变量；
PrintWriter
public PrintWriter(OutputStream out)根据现有的 OutputStream 创建不带自动行刷新的新，后者使用默认字符编码将字符转换为字节。
参数：
out - 输出流
另请参见：
PrintWriter
public PrintWriter(OutputStream out,
boolean autoFlush)通过现有的 OutputStream 创建新的 PrintWriter，后者使用默认字符编码将字符转换为字节。
参数：
out -输出流
autoFlush - boolean 变量；如果为 true，则 println、printf 或 format 方法将刷新输出缓冲区
另请参见：
OutputStreamWriter.OutputStreamWriter(java.ioOutputStream)
PrintWriter
public PrintWriter(String fileName)
throws FileNotFoundException创建具有指定文件名称且不带自动行刷新的新，后者将使用此 Java虚拟机实例的默认 charset 进行字符编码。
参数：
fileName - 用作此 writer 目标的文件名称。如果存在该文件，则将其大小截取为零；否则，创建一个新文件。将输出写入文件中，并对其进行缓冲处理。
抛出：
SecurityException - 如果存在安全管理器，并且 checkWrite(fileName) 拒绝对文件进行写入访问。
从以下版本开始：
1.5
PrintWriter
public PrintWriter(String fileName,
String csn)
throws FileNotFoundException,
UnsupportedEncodingException创建具有指定文件名称和字符集且不带自动行刷新的新 PrintWriter。此便捷构造方法创建必要的中间 OutputStreamWriter，后者将使用提供的字符集进行字符编码。
参数：
fileName - 用作此 writer 目标的文件名称。如果存在该文件，则将其大小截取为零；否则，创建一个新文件。将输出写入文件中，并对其进行缓冲处理。
csn - 受支持的字符集的名称
抛出：
FileNotFoundException - 如果给定的字符串不表示现有的可写常规文件，并且无法创建该名称的新常规文件，或者在打开或创建文件时发生其他一些错误
SecurityException - 如果存在安全管理器，并且 checkWrite
方法
PrintWriter append(char c)
将指定字符添加到此 writer。
PrintWriter append(CharSequence csq)
将指定的字符序列添加到此 writer。
PrintWriter append(CharSequence csq, int start, int end)
将指定字符序列的子序列添加到此 writer。
boolean checkError()
如果流没有关闭，则刷新流且检查其错误状态。
protected void clearError()
清除此流的错误状态。
void close()
关闭该流并释放与之关联的所有系统资源。
void flush()
执行更新
构造
PrintWriter(File file)
使用指定文件创建不具有自动行刷新的新 PrintWriter。
PrintWriter(File file, String csn)
创建具有指定文件和字符集且不带自动刷行新的新 PrintWriter。
PrintWriter(OutputStream out)
根据现有的 OutputStream 创建不带自动行刷新的新 PrintWriter。
PrintWriter(OutputStream out, boolean autoFlush)
通过现有的 OutputStream 创建新的 PrintWriter。
PrintWriter(String fileName)
创建具有指定文件名称且不带自动行刷新的新 PrintWriter。
PrintWriter(String fileName, String csn)
创建具有指定文件名称和字符集且不带自动行刷新的新 PrintWriter。
PrintWriter(Writer out)
创建不带自动行刷新的新 PrintWriter。
PrintWriter(Writer out, boolean autoFlush)
创建新 PrintWriter。
写入方式
void write(char[] buf)
写入字符数组
void write(char[] buf, int off, int len)
写入字符数组的某一部分。
void write(int c)
写入单个字符。
void write(String s)
写入字符串。
void write(String s, int off, int len)
写入字符串的某一部分。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
字段详细信息
out
protected Writer out此 PrintWriter 的底层字符输出流。
从以下版本开始：
1.2
构造方法详细信息
PrintWriter
public PrintWriter(Writer out)创建不带自动行刷新的新 PrintWriter。
参数：
out -字符输出流
刷新缓冲
PrintWriter format(Locale l, String format, Object... args)
使用指定格式字符串和参数将一个格式化字符串写入此 writer 中。
PrintWriter format(String format, Object... args)
void print(boolean b)
打印 boolean 值。
void print(char c)
打印字符。
void print(char[] s)
打印字符数组。
void print(double d)
打印 double 精度浮点数。
void print(float f)
打印一个浮点数。
void print(int i)
打印整数。
void print(long l)
打印 long 整数。
void print(Object obj)
打印对象。
void print(String s)
打印字符串。
PrintWriter printf(Locale l, String format, Object... args)
使用指定格式字符串和参数将格式化的字符串写入此 writer 的便捷方法。
PrintWriter printf(String format, Object... args)
void println()
通过写入行分隔符字符串终止当前行。
void println(boolean x)
打印 boolean 值，然后终止该行。
void println(char x)
打印字符，然后终止该行。
void println(char[] x)
打印字符数组，然后终止该行。
void println(double x)
打印双精度浮点数，然后终止该行。
void println(float x)
打印浮点数，然后终止该行。
void println(int x)
打印整数，然后终止该行。
void println(long x)
打印 long整数，然后终止该行。
void println(Object x)
打印 Object，然后终止该行。
void println(String x)
打印 String，然后终止该行。
protected void setError()
指示已发生错误。
void write(char[] buf)
代码
/**
* Closes the stream and releases any system resources associated
* with it. Closing a previously closed stream has no effect.
*
* @see #checkError()
*/
public void close() {
try {
synchronized (lock) {
if (out == null)
return;
out.close();
out = null;
}