1、PrintWriter类(java.io包中)

PrintWriter是一个非常实用的输出流。

(1)   构造方法(8种)

▽PrintWriter是一种过滤流(也叫处理流),能对字节流(OutputStream)和字符流(Writer)进行处理,所以它必然支持对这两种方式的构造:

① 不带自动刷新:

PrintWriter(OutputStreamout)  根据现有的OutputStream创建不带自动刷新的对象

PrintWriter(Writer out)        创建不带自动刷新的PrintWriter对象。

② 带自动刷新(autoFlush为true代表能自动刷新):

PrintWriter(OutputStream out, boolean autoFlush)

PrintWriter(Writer out, boolean autoFlush)

▽ PrintWriter能够直接对文件操作,所以它必然支持对文件的构造:

① 不可以指定编码集:

PrintWriter(File file)          使用指定文件创建不带自动刷新的PrintWriter对象

PrintWriter(String fileName)    创建具有指定文件名称且不带自动刷新的PrintWriter对象

② 可以指定编码集:

PrintWriter(File file, String csn) 创建具有指定文件和字符集且不带自动刷新的对象

PrintWriter(String fileName, String csn)  创建具有指定文件名称和字符集且不带自动刷新的

(2) 实现的接口:

▽ Closeable接口。所以它有.close()方法来实现对PrintWriter的关闭。

▽ Flushable接口。所以它有.flush()方法来实现人为的刷新。

▽ Appendable接口。所以它有.append(char c)方法来向此输出流中追加指定字符,等价于print()。

(3) 调用方法

PrintWriter append(char c)

PrintWriter format(String regex,Object args) 以指定格式的字符串和参数写入PrintWriter,等同于printf

PrintWriter printf()

Void println(Object obj)                 打印obj,可以是基本数据类型或对象,并换行

Void print(Object obj)                   同上,但不换行

Void write(int i)                        写入单个字符i

Void write(char[] buf)                   写入字符数组

Void write(char[] buf, int off, int len)       写入字符数组的某一部分

Void write(String s)                     写入字符串

Void write(String s, int off, int len)         写入字符串的某一部分

Boolean checkError()                   刷新流并检查其错误状态

4)举例:

import java.io.IOException;

import java.io.PrintWriter;

import java.io.FileWriter;

import java.io.File;

public class PrintWriterDemo {

public static voidmain(String[] args) {

PrintWriter pw = null;

String name = "张松伟";

int age = 22;

float score = 32.5f;

char sex = '男';

try{

pw= new PrintWriter(new FileWriter(new File("e:\\file.txt")),true);

pw.printf("姓名:%s;年龄:%d;性别:%c;分数:%5.2f;", name,age,sex,score);

pw.println();

pw.write(name.toCharArray());

}

catch(IOExceptione){

e.printStackTrace();

}

finally{

pw.close();

}

}

}

printwriter类:

  java.io 
  类PrintWriter
  java.lang.Object
  java.io.Writer
  java.io.PrintWriter
  所有已实现的接口: 
  Closeable,Flushable, Appendable 
  --------------------------------------------------------------------------------
  public class PrintWriter extends Writer向文本输出流打印对象的格式化表示形式。此类实现在 PrintStream 中的所有 print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。 
  与PrintStream 类不同,如果启用了自动刷新,则只有在调用 println、printf 或 format 的其中一个方法时才可能完成此操作,而不是每当正好输出换行符时才完成。这些方法使用平台自有的行分隔符概念,而不是换行符。 
  此类中的方法不会抛出 I/O 异常,尽管其某些构造方法可能抛出异常。客户端可能会查询调用checkError() 是否出现错误。 
  从以下版本开始: 
  JDK1.1 
  --------------------------------------------------------------------------------
  字段摘要 
  protectedWriter out 
  此PrintWriter 的底层字符输出流。 
  从类java.io.Writer 继承的字段 
  lock 
  构造方法摘要 
  PrintWriter(Filefile) 
  使用指定文件创建不具有自动行刷新的新 PrintWriter。 
  PrintWriter(Filefile, String csn) 
  创建具有指定文件和字符集且不带自动刷行新的新 PrintWriter。 
  PrintWriter(OutputStreamout) 
  根据现有的 OutputStream 创建不带自动行刷新的新 PrintWriter。 
  PrintWriter(OutputStreamout, boolean autoFlush) 
  通过现有的 OutputStream 创建新的 PrintWriter。 
  PrintWriter(StringfileName) 
  创建具有指定文件名称且不带自动行刷新的新 PrintWriter。 
  PrintWriter(StringfileName, String csn) 
  创建具有指定文件名称和字符集且不带自动行刷新的新 PrintWriter。 
  PrintWriter(Writerout) 
  创建不带自动行刷新的新 PrintWriter。 
  PrintWriter(Writerout, boolean autoFlush) 
  创建新 PrintWriter。 
  方法摘要 
  PrintWriterappend(char c) 
  将指定字符添加到此 writer。 
  PrintWriterappend(CharSequence csq) 
  将指定的字符序列添加到此 writer。 
  PrintWriterappend(CharSequence csq, int start, int end) 
  将指定字符序列的子序列添加到此 writer。 
  booleancheckError() 
  如果流没有关闭,则刷新流且检查其错误状态。 
  protectedvoid clearError() 
  清除此流的错误状态。 
  voidclose() 
  关闭该流并释放与之关联的所有系统资源。 
  voidflush() 
  刷新该流的缓冲。 
  PrintWriterformat(Locale l, String format, Object... args) 
  使用指定格式字符串和参数将一个格式化字符串写入此 writer 中。 
  PrintWriterformat(String format, Object... args) 
  使用指定格式字符串和参数将一个格式化字符串写入此 writer 中。 
  voidprint(boolean b) 
  打印boolean 值。 
  voidprint(char c) 
  打印字符。 
  voidprint(char[] s) 
  打印字符数组。 
  voidprint(double d) 
  打印double 精度浮点数。 
  voidprint(float f) 
  打印一个浮点数。 
  voidprint(int i) 
  打印整数。 
  voidprint(long l) 
  打印long 整数。 
  voidprint(Object obj) 
  打印对象。 
  voidprint(String s) 
  打印字符串。 
  PrintWriterprintf(Locale l, String format, Object... args) 
  使用指定格式字符串和参数将格式化的字符串写入此 writer 的便捷方法。 
  PrintWriterprintf(String format, Object... args) 
  使用指定格式字符串和参数将格式化的字符串写入此 writer 的便捷方法。 
  voidprintln() 
  通过写入行分隔符字符串终止当前行。 
  voidprintln(boolean x) 
  打印boolean 值,然后终止该行。 
  voidprintln(char x) 
  打印字符,然后终止该行。 
  voidprintln(char[] x) 
  打印字符数组,然后终止该行。 
  voidprintln(double x) 
  打印双精度浮点数,然后终止该行。 
  voidprintln(float x) 
  打印浮点数,然后终止该行。 
  voidprintln(int x) 
  打印整数,然后终止该行。 
  voidprintln(long x) 
  打印long 整数,然后终止该行。 
  voidprintln(Object x) 
  打印Object,然后终止该行。 
  voidprintln(String x) 
  打印String,然后终止该行。 
  protectedvoid setError() 
  指示已发生错误。 
  voidwrite(char[] buf) 
  写入字符数组。 
  voidwrite(char[] buf, int off, int len) 
  写入字符数组的某一部分。 
  voidwrite(int c) 
  写入单个字符。 
  voidwrite(String s) 
  写入字符串。 
  voidwrite(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
  public PrintWriter(Writer out,
  boolean autoFlush)创建新PrintWriter。 
  参数:
  out - 字符输出流
  autoFlush - boolean 变量;如果为true,则 println、printf 或 format 方法将刷新输出缓冲区
  --------------------------------------------------------------------------------
  PrintWriter
  public PrintWriter(OutputStream out)根据现有的 OutputStream 创建不带自动行刷新的新 PrintWriter。此便捷构造方法创建必要的中间 OutputStreamWriter,后者使用默认字符编码将字符转换为字节。 
  参数:
  out - 输出流
  另请参见:
  OutputStreamWriter.OutputStreamWriter(java.io.OutputStream)
  --------------------------------------------------------------------------------
  PrintWriter
  public PrintWriter(OutputStream out,
  boolean autoFlush)通过现有的OutputStream 创建新的 PrintWriter。此便捷构造方法创建必要的中间 OutputStreamWriter,后者使用默认字符编码将字符转换为字节。 
  参数:
  out - 输出流
  autoFlush - boolean 变量;如果为true,则 println、printf 或 format 方法将刷新输出缓冲区
  另请参见:
  OutputStreamWriter.OutputStreamWriter(java.io.OutputStream)
  --------------------------------------------------------------------------------
  PrintWriter
  public PrintWriter(String fileName)
  throws FileNotFoundException创建具有指定文件名称且不带自动行刷新的新 PrintWriter。此便捷构造方法创建必要的中间OutputStreamWriter,后者将使用此 Java 虚拟机实例的默认 charset 进行字符编码。 
  参数:
  fileName - 用作此 writer 目标的文件名称。如果存在该文件,则将其大小截取为零;否则,创建一个新文件。将输出写入文件中,并对其进行缓冲处理。 
  抛出: 
  FileNotFoundException- 如果给定的字符串不表示现有的可写常规文件,并且无法创建该名称的新常规文件,或者在打开或创建文件时发生其他一些错误 
  SecurityException- 如果存在安全管理器,并且 checkWrite(fileName) 拒绝对文件进行写入访问。
  从以下版本开始: 
  1.5 
  --------------------------------------------------------------------------------
  PrintWriter
  public PrintWriter(String fileName,
  String csn)
  throws FileNotFoundException,
  UnsupportedEncodingException创建具有指定文件名称和字符集且不带自动行刷新的新 PrintWriter。此便捷构造方法创建必要的中间OutputStreamWriter,后者将使用提供的字符集进行字符编码。 
  参数:
  fileName - 用作此 writer 目标的文件名称。如果存在该文件,则将其大小截取为零;否则,创建一个新文件。将输出写入文件中,并对其进行缓冲处理。
  csn - 受支持的字符集的名称 
  抛出: 
  FileNotFoundException- 如果给定的字符串不表示现有的可写常规文件,并且无法创建该名称的新常规文件,或者在打开或创建文件时发生其他一些错误 
  SecurityException- 如果存在安全管理器,并且 checkWrite

PrinterWriter 类入门相关推荐

  1. 【学亮IT手记】枚举类入门实例讲解

    什么是枚举类? 实例有限并且是固定的类,在Java里被称为枚举类. 手动实现枚举类的方法 public static final int SEASON_SPRING = 1; public stati ...

  2. java实现linkstring,【JAVA SE基础篇】32.String类入门

    [JAVA SE基础篇]32.String类入门 1.字符串 1.String类又称作不可变字符序列 2.String位于java.lang包中,java程序默认导入java.lang包下所有的类 3 ...

  3. JavaScript = TypeScript 类入门

    尝试重写 在此之前,通过<JavaScript => TypeScript 入门>已经掌握了类型声明的写法.原以为凭着那一条无往不利的规则,就可以开开心心的重写 JS 项目了.当我跃 ...

  4. system类的 静态方法可以启动垃圾回收器。_Java—System类入门学习

    第三阶段 JAVA常见对象的学习 System类 System类包含一些有用的字段和方法,他不能被实例化 //用于垃圾回收public static void gc()​//终止正在运行的java虚拟 ...

  5. System类入门学习

    第三阶段 JAVA常见对象的学习 System类 System类包含一些有用的字段和方法,他不能被实例化 //用于垃圾回收 public static void gc()//终止正在运行的java虚拟 ...

  6. Object类入门这一篇就够了!

    2019独角兽企业重金招聘Python工程师标准>>> 第三阶段 JAVA常见对象的学习 第一章 常见对象--Object类 引言: 在讲解Object类之前,我们不得不简单的提一下 ...

  7. java unicode32_【JAVA SE基础篇】32.String类入门

    1.字符串 1.String类又称作不可变字符序列 2.String位于java.lang包中,java程序默认导入java.lang包下所有的类 3.java字符串就是Unicode字符序列,例如字 ...

  8. java File类入门学习

    概念 案例 以scala语言进行编写,不影响意思表达 创建空白文件 def createFile(): Unit = {//Creates a new File instance by convert ...

  9. scala Option类入门解析

    是什么 是个class sealed abstract class Option[+A] extends Product with Serializable 目的 模式匹配时,有结果的时候进行一种处理 ...

最新文章

  1. Linux常用安全设置
  2. helloword,认真就输了
  3. [Leetcode][LCP 19][JAVA][秋叶收藏集][动态规划]
  4. admin后台菜单栏的实现
  5. ASP.NET:关于.net中的runat
  6. sqlite的交叉编译及移植 -转
  7. OpenCV-绘制简易直方图DrawHistImg
  8. 扫盲贴-万能密码的原理
  9. HiWork告诉你:拿什么来拯救你,我的时间!
  10. 前后落差大用什么词语_描写心理落差大词语
  11. EtherCAT从站协议栈代码笔记之ecat_def.h
  12. 日本企业遭遇严重用工短缺
  13. DLNA(明基的返校讲座)
  14. 语音合成商业化:科大讯飞向左,魔音工坊向右
  15. 苹果手用计算机解锁手机密码,苹果手机密码忘了怎么解锁(解决方法大全)
  16. RoboCup救援仿真和代理开发框架手册
  17. Sql Server系统数据库的作用
  18. Excel2007中固定表头或列
  19. 移动应用UI设计(上)
  20. android 商品筛选view,FilterTabView 基于 Popupwindow 实现的筛选房源信息等相关的控件,可以自由排序 @codeKK Android开源站...

热门文章

  1. Sunt natus nam minima alias sunt molestias.DignissiFrüher ermos voluptatum ex debitis ea voluptatem.
  2. Response重定向
  3. 小程序应用在未来会发展成什么方向?
  4. Maya: Rendering with Arnold 5 Maya教程之Arnold5渲染 Lynda课程中文字幕
  5. 中企故事汇:马可波罗三生三世的故事
  6. 关于Trinity魔兽私服搭建
  7. [Cougaar]Cougaar快速开始指导(Cougaar Quick Start Guide)
  8. python爬虫-笔趣阁
  9. one-hot和Embedding
  10. 美剧中50句经典俚语完美解析