概述

平时我们在控制台打印输出,是调用print方法和println方法完成的,这两个方法都来自于java.io.PrintStream类,该类能够方便地打印各种数据类型的值,是一种便捷的输岀方式。

PrintStream类

PrintStream类,为其他输出流添加了功能,使他们能够方便的打印各种数据值表示格式。

PrintStream类的特点:

只负责数据的输出,不负责数据的读取。

与其他输出流不同,PrintStream永远不会抛出IOException异常。

特有方法:print()、println()

构造方法

PrintStream(String fileName)//使用指定的文件名创建一个新的打印流。

继承自父类的方法

PrintStream extends OutputStream

1、public abstract void write(int b) throwsIOException;//将指定的字节输出流。

2、public void write(byte b[]) throwsIOException{...};//将b.length字节从指定的字节数组写入此输出流。

3、public void write(byte b[], int off, int len) throwsIOException{...};//从指定的字节数组写入len字节,从偏移量off开始输出到此输出流。

4、public void flush() throwsIOException{};//刷新此输出流并强制任何缓冲的输出字节被写出。

5、public void close() throwsIOException {};//关闭此输出流并释放与此流相关联的任何系统资源。

说明:

如果使用继承父类的write方法写数据,那么查询数据的时候,会查询编码表。

如果使用自身特有的print方法、println方法写数据,那么写的数据会原样输出。

举例:往print.txt空文件中写入数据

importjava.io.FileNotFoundException;importjava.io.PrintStream;public classDemoPrintStream {public static void main(String[] args) throwsFileNotFoundException {//创建PrintStream对象,传入输出的路径,路径需要存在,否则会抛出FileNotFoundException异常

PrintStream ps = new PrintStream("/Users/liyihua/IdeaProjects/Study/src/view/study/demo37/print");//使用父类OutputStream的write方法,写入数据

ps.write(97);//使用自身特有的方法,写入数据

ps.print(97);//释放资源

ps.close();

}

}

print.txt文件内容如下:

数据a是使用父类中的write方法写入的。数据97是使用自身特有方法写入的。

练习:改变输出语句的目的地

分析:输出语句,默认是在控制台输出,使用System.setOut方法,可以改变输出语句的目的地。

static voidsetOut(PrintStream out)//将输出语句的目的地,改变为参数中传递的打印流的目的地。

参数:

PrintStream out:打印流对象

代码实现:

importjava.io.FileNotFoundException;importjava.io.PrintStream;public classDemoSetOut {public static void main(String[] args) throwsFileNotFoundException {//在控制台输出

System.out.println("我是在控制台输出的!!!");//在空的setOut.txt文件中输出

PrintStream ps = new PrintStream("/Users/liyihua/IdeaProjects/Study/src/view/study/demo37/setOut");

System.setOut(ps);

System.out.println("我是在setOut.txt文件中输出的!!!");//释放资源

ps.close();

}

}

控制台输出:

我是在控制台输出的!!!

setOut.txt文件内容:

我是在setOut.txt文件中输出的!!!

java 打印数据_Java 中的打印流相关推荐

  1. java有道_java中的各种流(老师的有道云笔记)

    内存操作流-字节 之前的文件操作流是以文件的输入输出为主的,当输出的位置变成了内存,那么就称为内存操作流.此时得使用内存流完成内存的输入和输出操作. 如果程序运行过程中要产生一些临时文件,可采用虚拟文 ...

  2. java存储数据_Java中六种数据存储方式

    存储数据 1.寄存器(register).这是最快的存储区,因为它位于不同于其他存储区的地方--处理器内部.但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配.你不能直接控制,也不能在程序中 ...

  3. java和打印机_java实现打印机打印的区别

    构建打印任务方式不同: 1:直接通过指定的打印机创建打印任务 DocPrintJob  job= myPrintService.createPrintJob(); 2:手动创建打印任务,再与指定的打印 ...

  4. Java输入/输出流体系中常用的流分类

    java输入/输出流体系中常用的流分类 分类 字节输入流 字节输出流 字符输入流 字符输出流 抽象基类 InputStream OutputStream Reader Writer 访问文件 File ...

  5. java打印二维数组_Java中如何打印二维数组

    在Java中如何打印二维数组 1.直接使用数组自带的toString------ 打印出数组的地址 2.使用Arrays.toString()---------- 打印每个二维数组的地址 3.使用Ar ...

  6. java流的应用_Java中I/O流的应用

    Java中I/O流的应用 iLeGeND packagecom.hp.io; /**  I/O流的应用 * 实现目标: *   首先创建一个文件 *   通过键盘向文件添加内容 *   然后把文件的内 ...

  7. java输出流输入流的使用_Java中的IO流之文件输入输出流

    Java中的IO流之文件输入输出流 1.文件流介绍 文件流是以字节为单位进行读写文件的,所以属于字节流,并且是低级流.文件流位于java.io包下. 输入输出流分别是FileInputSteam和Fi ...

  8. java控制台打印图片_java——控制台输入打印图形

    1. 打印直角三角形 需求说明:从控制台输入直角三角形的高度(行数).每行*的数目依次为1.3.5.7等 . 实现思路:外层循环控制行数,根据用户输入的行数得到外层循环条件 分析每行打印的内容: 每一 ...

  9. java 文件流 重写_java中关于文件流的总结

    [File类] 1. 作用: 用于对磁盘文件进行操作. 删除.创建等. 2. 三种常用的构造函数: ① File file1 = new File("F:\\test"); 直接传 ...

  10. java输入输出语句_Java中的常用输入输出语句的操作代码

    一.概述 输入输出可以说是计算机的基本功能.作为一种语言体系,java中主要按照流(stream)的模式来实现.其中数据的流向是按照计算机的方向确定的,流入计算机的数据流叫做输入流(inputStre ...

最新文章

  1. ubuntu下virtualbox使用u盘
  2. c#操作html dom元素,C#获取与修改HTML DOM元素信息
  3. 《大规模分布式系统架构与设计实战》
  4. Brackets (区间DP)
  5. c语言 宏定义 去除宏定义_如何检查是否在C中定义了宏?
  6. windos 为什么会突然服务停止了_女生为什么会突然说分手?
  7. 杜工部蜀中离席 [唐] 李商隐
  8. VB一个可以改变箭头方向的气泡提示
  9. wifi驱动总结(2)
  10. SpringBoot开发案例之拦截器注入Bean
  11. 聚类-----KMeans
  12. pl/mysql安装_PL/SQL环境安装设置
  13. 中兴配置dhcp服务器,中兴F623路由器如何投入使用dhcp服务器
  14. 怎样用计算机算出54188,计算机应用技术练习题.doc
  15. 【线性代数·浅学】(一)行列式——n阶行列式定义,行列式性质,行列式展开定理,拉普拉斯定理,范德蒙德行列式,克拉默法则
  16. php 在服务器运行不起,PHP Cookies在localhost上运行良好,但在实时服务器上不起作用...
  17. 兵法三十六计第三计-借刀杀人。
  18. 【软考-软件设计师】(五).计算机网络
  19. 计算机二级vb重点知识,计算机二级VB考试重点知识
  20. 软件生成问候图片_软件 | 珍藏级推荐!全平台使用!!!

热门文章

  1. [转载]从MyEclipse到IntelliJ IDEA-让你摆脱鼠标,全键盘操作
  2. 核心JavaScript——词法结构
  3. 如何启用Domino 8 的ODS磁盘结构
  4. mysql数据库中实现内连接、左连接、右连接
  5. .Net下RabbitMQ的使用(4) -- 订阅和发布
  6. [2019.04.16] 由Python写成的自动解压脚本
  7. D-Link service.cgi远程命令执行漏洞复现
  8. 基于数组实现Java 自定义Stack栈类及应用
  9. Makefile文件(一)_介绍
  10. 2016.6.2近日学习计划