(只有两个,PrintWriter和PrintStream)

思考:如果现在要想完成一个字符串或者是boolean型或者是字符型的数据输出使用OutputStream是否方便?

肯定是不方便的,因为OutputStream中只能操作字节数据,所以其他的数据类型很难操作,那么在Java的IO包中为了解决这种问题增加了两种类:PrintStream、PrintWriter

打印流有非常好的打印功能,可以打印任何的数据类型。如,整数,小数,字符串等。

观察PrintStream类的构造:

public PrintStream(File file) throws FileNotFoundException

public PrintStream(OutputStream out)

虽然PrintStream是OutputStream的子类,但是在实例化的时候依然需要一个OutputStream的对象。

PrintWriter和PrintStream都属于输出流,分别针对字符和字节。

PrintWriter和PrintStream重载的print()和println()用于多种数据类型的输出。

print()里的参数不能为空;println()可以

PrintWriter和PrintStream输出操作不抛出异常

PrintStream调用println方法有自动flush功能;

Eg:

package june6D;

import java.io.FileWriter;

import java.io.PrintStream;

import java.io.PrintWriter;

public class PrintDemo9 {

public static void main(String[] args) throws Exception {

PrintStream ps = new PrintStream("out.txt");

// ps.write(12);

ps.println(10086);

ps.println(false);

// ps.print();针对print而言,不可以出现这样的(无参)

ps.println();// 此时就可以

//备注:System.out.println();想当于ps = System.out;

ps = System.out;

ps.println("您好!");// 控制台操作,注意上一句

// 字符打印流

PrintWriter pr = new PrintWriter("out2.txt");

// PrintWriter(OutputStream out, boolean autoFlush) 通过现有的 OutputStream,创建新的 PrintWriter。(构造方法)

pr = new PrintWriter(new FileWriter("out2.txt"), true);// 自动刷新,否则的话需要关闭资源!

// 与PrintStream不同,若PrintWriter使用了自动刷新方法,那么必须调用println,print,format这些方法的其中一个才可以实现操作

pr.println("呼哈哈哈哈");

pr.println(false);

pr = new PrintWriter(System.out, true);// 打印在控制台上

pr.println(false);

pr.println("河南城建学院");

pr.println(376430645);

// pr.close();//因为使用了自动刷新。

}

}

最新文章

  1. linux如何查看系统信息
  2. java练习题(字符串类):显示4位验证码、输出年月日、从XML中抓取信息
  3. 03.C#委托(二章1.1)
  4. gnl总结(#,%,$)
  5. 在项目中 background transiton 带来的"便利"与“坑”
  6. linux 删除某种规则命名的文件
  7. hishop网站迁移后出现DataProtectionConfigurationProvider错误(转)
  8. C/C++中程序在使用堆内存时的内存复用问题
  9. 用swap函数交换两个整数
  10. JPush 使用教程
  11. 使用进程池规避Python的GIL限制
  12. 正"/" 和 反"\"的区别?
  13. 使用Beetle.NetPackage简单实现android和wp聊天
  14. JS判断
  15. Lucene的深入
  16. H指数
  17. NOI 2007 货币兑换Cash (bzoj 1492) - 斜率优化 - 动态规划 - CDQ分治
  18. Echarts 简单报表系列三:饼状图
  19. arguments[0]()的详解
  20. L1-035 情人节

热门文章

  1. oracle-OFA模型
  2. NOIP模拟 7.04
  3. 如何在Liferay Custom JSP Fragment项目中加Java代码
  4. if (donutString.indexOf("dozen") != -1)是什么意思
  5. jquery 日期和时间的逻辑,比较大小
  6. Directx11教程(50) 输出depth/stencil buffer的内容
  7. Nacos 发布 1.0.0 GA 版本,可大规模投入到生产环境
  8. LeetCode115 Distinct Subsequences
  9. @codeforces - 793G@ Oleg and chess
  10. 光程科技IOS签名配置