java.io包

1)首先先知道它的八种构造方法,但怎么记住这八种呢?我们都知道PrintWriter是一种过滤流,也叫处理流。也就是能对字节流和字符流进行处理,所以它会有:

PrintWriter(OutputStream out)  根据现有的 OutputStream 创建不带自动行刷新的新 PrintWriter。

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

这两种构造方法。由于PrintWriter能够实现自动刷新所以又衍生出另两种:

PrintWriter(OutputStream out, boolean autoFlush)  通过现有的 OutputStream 创建新的 PrintWriter。

PrintWriter(Writer out, boolean autoFlush)  创建新 PrintWriter

true代表能自动刷新。注意这四种均不能指定编码集,但PrintStream中对OutprintStream操作时是可以的。【其中原因我不知,有知道的朋友欢迎指教】。

然后PrintWriter能够直接对文件操作,所以还有这两种构造方法:

PrintWriter(File file) 使用指定文件创建不具有自动行刷新的新 PrintWriter。

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

注意该构造方法无法指定能否自动刷新,但可以指定字符集所以又衍生出两种:

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

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

2)熟记这八种构造方法,你可以随心构造你需要的PrintWriter对象了(假如为pw)。那它实现了什么接口呢?

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

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

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

3)下面就是它的方法。

返回类型为PrintWriter的方法

append(char c)

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

printf()

返回类型为void的方法

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

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

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

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

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

write(String s) 写入字符串

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

个人认为:write()方法与print()方法基本一致 但是write(char[] buf, int off, int len)print()不行。但笔者推荐使用Print系列方法,这正是PrintWriter类的价值所在。

返回类型为boolean类型的方法

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

4)举例:

import java.io.IOException;
import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.File;
public class PrintWriterDemo {
public static void main(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.println("多多指教");
pw.write(name.toCharArray());
}catch(IOException e){
e.printStackTrace();
}finally{
pw.close();
}
}
}

上面这个例子中呢,完全可以把pw = new PrintWriter(new FileWriter(new File("e:\\file.txt")),true);中的new  FileWrite去掉 毫无影响且可以指定字符集。

总结:PrintWriter是一个非常实用的输出流

PrintWriter类相关推荐

  1. 开课吧Java课堂之PrintWriter类的运用

    尽管Java允许用System.out向控制台写数据,但建议仅用在调试程序时或在例题中,对于实际的程序,Java推荐的向控制台写数据的方法是用PrintWriter流.PrintWriter是基于字符 ...

  2. 黑马毕向东Java课程笔记(day20-1——20-17)IO流:File类及相关方法、递归、递归的相关练习、Properties、PrintWriter类与PrintStream类、合并流与切割流

    1.File类概述   File是文件和目录路径名的抽象表示形式. 用来将文件或者文件夹封装成对象,方便对文件与文件夹的属性信息进行操作.   前面说到的"流",它只能操作数据,想 ...

  3. 学习PrintWriter类

    转载CSDN zsw2zkl 的分享 Java.io包 1)首先先知道它的八种构造方法,但怎么记住这八种呢?我们都知道PrintWriter是一种过滤流,也叫处理流.也就是能对字节流和字符流进行处理, ...

  4. java中printwriter类_Java中printwriter类的用法

    printwriter类: java.io 类 PrintWriter java.lang.Object java.io.Writer java.io.PrintWriter 所有已实现的接口: Cl ...

  5. Java PrintWriter类简介说明

    转自: Java PrintWriter类简介说明 下文讲述PrintWriter类的简介说明,如下所示: PrintWriter是字符类型的打印输出流它继承于Writer它用于向文本输出流打印对象的 ...

  6. 后台servlet使用PrintWriter类向前台页面写内容的代码

    后台servlet使用PrintWriter类向前台页面写内容的代码 向前台写内容有单行写入也有多行一块写入 resp.getWriter().write("time = "+da ...

  7. java printwriter实例_Java PrintWriter 类

    Java PrintWriter 类 在本教程中,我们将通过示例来学习Java PrintWriter及其print()和printf()方法. java.io包的PrintWriter类可用于以通常 ...

  8. java printwriter用法_Java中printwriter类的用法 | 学步园

    printwriter类: java.io 类 PrintWriter java.lang.Object java.io.Writer java.io.PrintWriter 所有已实现的接口: Cl ...

  9. java printwriter format,Java PrintWriter类

    本文概述 Java PrintWriter类是Writer类的实现.它用于将格式化的对象表示形式打印到文本输出流. 类声明 让我们看一下Java.io.PrintWriter类的声明: public ...

最新文章

  1. HDU6376 度度熊剪纸条
  2. 学了网络安全以后能做哪些岗位呢?来来来,带你们了解
  3. java 静态对象数组_Java静态方法和实例方法 java中的数组作为形参传入
  4. 【转】开发人员一定要加入收藏夹的网站
  5. cmd窗口快速定位到具体文件夹方法
  6. html5怎么产生手风琴效果,Html5 js如何实现手风琴效果
  7. Ubuntu 解决 pip 安装 lxml 出现 x86_64-linux-gnu-gcc 异常
  8. sqoop导入数据常见问题解决方法
  9. matplotlib输出图形到网页_pytorch使用matplotlib和tensorboard实现模型和训练的可视化...
  10. 未能创建可接受的游标。
  11. 2018 Wannafly summer camp Day8--区间权值
  12. 大型网站应用之海量数据和高并发解决方案总结一二!
  13. java素数的判断方法_2java判断素数
  14. springmvc-带预览的异步上传图片功能
  15. python 循环语句s =2+22+222+2222之和_python算法题
  16. 怎样快速将Word转长图
  17. 语音识别语言模型和拼音字典文件制作
  18. java计算机毕业设计医院病历管理系统源程序+mysql+系统+lw文档+远程调试
  19. Springboot WEBOJ项目—— Nginx部署
  20. Spring实现依赖注入的几种方式

热门文章

  1. python 玩转arduino_树莓派挂载Arduino uno玩转物联网
  2. 抖音、快手“偷食”闲鱼、转转
  3. Microsoft VBScript 编译器错误 错误 '800a0401' 语句未结束 的解决方法
  4. 手动调用控件的RenderControl方法,OnPreRender方法不执行的解决办法.
  5. 央行就《非银行支付机构网络支付业务管理办法(征求意见稿)》有关问题答记者问...
  6. C语言教程(三)-if和循环
  7. SqlServer2008实例25 代理键
  8. Node.js 全网最详细教程 (第一章:Node学习入门必看教程)
  9. DUNS商业信用报告
  10. 小学科学骨干教师课堂教学展示活动总结