转自:
下文讲述PrintWriter类的简介说明,如下所示:
PrintWriter是字符类型的打印输出流 它继承于Writer 它用于向文本输出流打印对象的格式化表示形式 它实现在 PrintStream 中的所有 print 方法 它不包含用于写入原始字节的方法, 对于这些字节,程序应该使用未编码的字节流进行写入。
PrintWriter类的构造函数
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。
PrintWriter类的关键字
protected Writer out; 传入的底层字符输出流 private boolean autoFlush = false; 是否自动刷新 private boolean trouble = false; 是否抛异常 private Formatter formatter; 格式化类 private PrintStream psOut = null; 字节打印流、用于checkError方法
PrintWriter类的方法
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 format(Locale l, String format, Object... args) 使用指定格式字符串和参数将一个格式化字符串写入此 writer 中。 |
PrintWriter format(String format, Object... args) 使用指定格式字符串和参数将一个格式化字符串写入此 writer 中。 |
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) 使用指定格式字符串和参数将格式化的字符串写入此 writer 的便捷方法。 |
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) 写入字符数组。 |
void write(char[] buf, int off, int len) 写入字符数组的某一部分。 |
void write(int c) 写入单个字符。 |
void write(String s) 写入字符串。 |
void write(String s, int off, int len) 写入字符串的某一部分 |
例:
将字符串写入到文件中
private static void testFun() { final char[] arr={'j', 'a', 'v', 'a' }; try { // 创建文件“file.txt”的File对象 File file = new File("file.txt"); // 创建文件对应FileOutputStream PrintWriter out = new PrintWriter( new FileOutputStream(file)); // 将“字节数组arr”全部写入到输出流中 out.write(arr); // 关闭输出流 out.close(); } catch (IOException e) { e.printStackTrace(); } }