java 打印流
(只有两个,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();//因为使用了自动刷新。
}
}
最新文章
- linux如何查看系统信息
- java练习题(字符串类):显示4位验证码、输出年月日、从XML中抓取信息
- 03.C#委托(二章1.1)
- gnl总结(#,%,$)
- 在项目中 background transiton 带来的";便利";与“坑”
- linux 删除某种规则命名的文件
- hishop网站迁移后出现DataProtectionConfigurationProvider错误(转)
- C/C++中程序在使用堆内存时的内存复用问题
- 用swap函数交换两个整数
- JPush 使用教程
- 使用进程池规避Python的GIL限制
- 正";/"; 和 反";\";的区别?
- 使用Beetle.NetPackage简单实现android和wp聊天
- JS判断
- Lucene的深入
- H指数
- NOI 2007 货币兑换Cash (bzoj 1492) - 斜率优化 - 动态规划 - CDQ分治
- Echarts 简单报表系列三:饼状图
- arguments[0]()的详解
- L1-035 情人节
热门文章
- oracle-OFA模型
- NOIP模拟 7.04
- 如何在Liferay Custom JSP Fragment项目中加Java代码
- if (donutString.indexOf(";dozen";) != -1)是什么意思
- jquery 日期和时间的逻辑,比较大小
- Directx11教程(50) 输出depth/stencil buffer的内容
- Nacos 发布 1.0.0 GA 版本,可大规模投入到生产环境
- LeetCode115 Distinct Subsequences
- @codeforces - 793G@ Oleg and chess
- 光程科技IOS签名配置