Java学习总结:47(打印流)
打印流
打印流包含字节打印流(PrintStream)和字符打印流(PrintWriter)。
例:定义打印流工具类
package Project.Study.PrintStream;import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;class PrintUtil{ //实现专门的输出操作功能private OutputStream outputStream; //输出只能依靠OutputStream/*** 输出流的输出目标要通过构造方法传递* @param outputStream*/public PrintUtil(OutputStream outputStream){this.outputStream=outputStream;}public void print(int x){ //输出int型数据this.print(String.valueOf(x)); //调用本类字符串的输出方法}public void print(String x){try{ //采用OutputStream类中定义的方法,将字符串转变为字节数组后输出this.outputStream.write(x.getBytes());}catch (Exception e){e.printStackTrace();}}public void print(double x){ //输出double型数据this.print(String.valueOf(x));}public void println(int x){ //输出数据后换行this.println(String.valueOf(x));}public void println(String x){ //输出数据后换行this.print(x.concat("\n"));}public void println(double x){this.println(String.valueOf(x));}public void close(){ //输出流关闭try{this.outputStream.close();}catch (Exception e){e.printStackTrace();}}
}
public class Test1 {public static void main(String[]args)throws Exception{PrintUtil printUtil=new PrintUtil(new FileOutputStream(new File("d:"+File.separator+"Test"+File.separator+"test3.txt")));printUtil.println("你好!!!");printUtil.println("Hello World!!!");printUtil.println(1+1);printUtil.println(1.1+1.1);printUtil.close();}
}
结果:
事实上PrintStream与PrintWriter这两个类在使用上是完全一样的,方法功能也一样。所以在这里我只挑其中的一个来讲,以PrintStream为例。
PrintStream类的常用操作方法
No. | 方法 | 类型 | 描述 |
---|---|---|---|
1 | public PrintStream(OutputStream out) | 构造 | 通过已有OutputStream确定输出目标 |
2 | public void print(数据类型 参数名称) | 普通 | 输出各种常见数据类型 |
3 | public void println(数据类型 参数名称) | 普通 | 输出各种常见数据类型,并追加一个换行 |
上述的这些方法相当于为我们隐藏了OutputStream类中的writer()方法,即将原本的OutputStream类的功能进行包装,在保持原方法功能不变的情况下,提供更方便的操作,这就是装饰设计模式的体现。
例:使用PrintStream类实现输出
package Project.Study.PrintStream;import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintStream;public class Test2 {public static void main(String[]args)throws Exception{//实例化PrintStream类对象,本次利用FileOutputStream类实例化PrintStream类对象PrintStream printStream=new PrintStream(new FileOutputStream(new File("d:"+File.separator+"Test"+File.separator+"test3.txt")));printStream.println("你好 世界!!!");printStream.println("Hello World!!!");printStream.println(1+1);printStream.println(1.1+1.1);printStream.close();}
}
结果:
从JDK 1.5开始,Java为PrintStream增加了格式化输出的支持方法:public PrintStream printf(String format,Object… args)。该方法的使用方法类似于C语言的输出语句。
例:格式化输出
package Project.Study.PrintStream;import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintStream;public class Test3 {public static void main(String[]args)throws Exception{String name="小关爱吃汉堡";int age=19;double score=99.99999;PrintStream printStream=new PrintStream(new FileOutputStream(new File("d:"+File.separator+"Test"+File.separator+"test3.txt")));printStream.printf("姓名:%s,年龄:%d,成绩:%f",name,age,score);printStream.close();}
}
结果:
Java学习总结:47(打印流)相关推荐
- (JAVA)从零开始之--打印流PrintStream记录日志文件
这里的记录日志是利用打印流来实现的. 文本信息中的内容为String类型.而像文件中写入数据,我们经常用到的还有文件输出流对象FileOutputStream. 1 File file = new F ...
- Java学习——Day13:IO流
6.1 File类 java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关 File 能新建.删除.重命名文件和目录,但 File 不能访问文件内容本身. 如果需要访问文件内容本身, ...
- java学习笔记16--I/O流和文件
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input Output)流 IO流用来处理 ...
- java学习笔记-初学IO流
目 录 什么是IO IO流的分类 Java中的IO流 java中需要掌握的流:16个 字节流 java.io.FileInputStream(字节输入流) java.io.FileOutputStre ...
- Java学习之I/O流
最近学习了I/O,按照老规矩写上一篇. I/O流 什么是I/O流? 流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列.从流中取得数据的操作称为 ...
- [Java基础]字节,字符打印流
代码如下: package PrintWriterPack;import java.io.FileNotFoundException; import java.io.PrintWriter;publi ...
- java学习(47):带参无返回
//带参无返回值 /*注意: 1. 调用带参方法时,必须保证实参的数量.类型.顺序与形参一一对应 2. 调用方法时,实参不需要指定数据类型 3. 方法的参数可以是基本数据类型,如 int.double ...
- java学习--基础知识进阶第十天--标准输入流 转换流 打印流、对象操作流 、Properties集合...
今日内容介绍 u 标准输入流 & 转换流 & 打印流 u 对象操作流 u Properties集合 第1章 标准输入流 & 转换流 & 打印流 1.1 标准输入输 ...
- 【Java基础】Java IO编程:输入输出流、内存流、打印流、缓冲流BufferedReader、扫描流Scanner、序列化与反序列化
文章目录 第11章.Java IO编程 11.1 文件操作类:File 11.2 字节流与字符流 字节输出流:OutputStream OutputStream类 FileOutputStream类 ...
最新文章
- 图像去马赛克:双线性插值VS高质量线性插值
- Web前端开发人员和设计师必读文章推荐【系列九】
- 需求用例分析之备选流
- 微软的.NET Core开始支持Raspberry Pi 3
- ZAB 协议和Paxos 算法
- mysql快速导入导出数据库_mysql快速导出与导入
- Spring Boot+JPA 查询数据方式与代码演示
- 实验二+018+李滨
- windows纯手工安装php和Apache以及连接mysql
- javapythonc就业人数比例_P100 统计各年龄段的人数
- WIN10 edge浏览器阻止文件下载解决方法
- 最好的3个Windows电脑上的azw3阅读器
- 酷睿i3 10105参数 i3 10105功耗 i310105怎么样
- 陈宁计算机辅助设计说课稿,《归去来兮辞》(并序)说课稿
- 一文读懂沃尔玛、腾讯、京东、浙商银行在供应链领域的区块链应用实例
- 一个故事看懂AI神经网络工作原理
- 路由器redirect 配置_新页软件:如何设定双层以上路由器互联网模式
- 腾讯云服务器1M带宽下载速度怎么样?
- sip pbx_PBX免费CRM
- ICPC nangchan I. Max answer
热门文章
- AS3.0编程 So本地数据存储(“超级cookies”)--AS3:Local SharedObject
- ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial - UE5 Starter Course
- linux进程间通信:POSIX 共享内存
- linux平台软件动态分析工具valgrind系列工具及其可视化
- MQTT消息长度限制
- Halcon学习之六:获取Image图像中Region区域的特征参数
- JS高级程序设计第五章读书笔记
- Sublime Text3配置Node.js开发环境
- hdu 2087 剪花布条
- sdut 2401 最大矩形面积