Java IO(十九)PrintStream 和 PrintWriter
Java IO(十九)PrintStream 和 PrintWriter
一、介绍
(一)、PrintStream
(二)、PrintWriter
PrintWriter 是字符类型的打印输出流,它继承于Writer。PrintStream 用于向文本输出流打印对象的格式化表示形式。它实现在 PrintStream 中的所有 print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。
二、构造方法
(一)、PrintStream

(二)、PrintWriter

三、常用API
(一)、PrintStream
PrintStream append(char c) //将指定的字符附加到此输出流。
PrintStream append(CharSequence csq) // 将指定的字符序列附加到此输出流。
PrintStream append(CharSequence csq, int start, int end) // 将指定字符序列的子序列附加到此输出流。
boolean checkError() // 刷新流并检查其错误状态。
void close() // 关闭流。
void flush() // 刷新流。
PrintStream format(Locale l, String format, Object... args) // 使用指定的格式字符串和参数将格式化的字符串写入此输出流。
PrintStream format(String format, Object... args) // 使用指定的格式字符串和参数将格式化的字符串写入此输出流。
void print(boolean b) // 打印布尔值。
void print(char c) // 打印一个字符
void print(char[] s) // 打印字符数组。
void print(double d) // 打印双精度浮点数。
void print(float f) // 打印浮点数。
void print(int i) // 打印一个整数。
void print(long l) // 打印一个长整数。
void print(Object obj) // 打印一个对象。
void print(String s) // 打印字符串。
PrintStream printf(Locale l, String format, Object... args) // 使用指定的格式字符串和参数将格式化的字符串写入此输出流的便利方法。
PrintStream printf(String format, Object... args) // 使用指定的格式字符串和参数将格式化的字符串写入此输出流的便利方法。
void println() // 通过写入行分隔符字符串来终止当前行。
void println(boolean x) // 打印一个布尔值,然后终止该行。
void println(char x) // 打印一个字符,然后终止该行。
void println(char[] x) // 打印一个字符数组,然后终止该行。
void println(double x) // 打印一次,然后终止行。
void println(float x) // 打印一个浮点数,然后终止该行。
void println(int x) // 打印一个整数,然后终止行。
void println(long x) // 打印很长时间,然后终止行。
void println(Object x) // 打印一个对象,然后终止该行。
void println(String x) // 打印一个字符串,然后终止行。
void write(byte[] buf, int off, int len) // 从指定的字节数组写入 len个字节,从偏移 off开始到此流。
void write(int b) // 将指定的字节写入此流。
(二)、PrintWriter
PrintWriter append(char c) // 将指定的字符附加到此输出流。
PrintWriter append(CharSequence csq) // 将指定的字符序列附加到此输出流。
PrintWriter append(CharSequence csq, int start, int end) // 将指定字符序列的子序列附加到此输出流。
boolean checkError() // 如果流未关闭,请刷新流并检查其错误状态。
void close() // 关闭流并释放与之相关联的任何系统资源。
void flush() // 刷新流。
PrintWriter format(Locale l, String format, Object... args) // 使用指定的格式字符串和参数将格式化的字符串写入此写入程序。
PrintWriter format(String format, Object... args) // 使用指定的格式字符串和参数将格式化的字符串写入此写入程序。
void print(boolean b) // 打印布尔值。
void print(char c) // 打印一个字符
void print(char[] s) // 打印字符数组。
void print(double d) // 打印双精度浮点数。
void print(float f) // 打印浮点数。
void print(int i) // 打印一个整数。
void print(long l) // 打印一个长整数。
void print(Object obj) // 打印一个对象。
void print(String s) // 打印字符串。
PrintWriter printf(Locale l, String format, Object... args) // 使用指定的格式字符串和参数将格式化的字符串写入该writer的方便方法。
PrintWriter printf(String format, Object... args) // 使用指定的格式// 符串和参数将格式化的字符串写入该writer的方便方法。
void println() // 通过写入行分隔符字符串来终止当前行。
void println(boolean x) // 打印一个布尔值,然后终止该行。
void println(char x) // 打印一个字符,然后终止该行。
void println(char[] x) // 打印字符数组,然后终止行。
void println(double x) // 打印双精度浮点数,然后终止行。
void println(float x) // 打印一个浮点数,然后终止该行。
void println(int x) // 打印一个整数,然后终止该行。
void println(long x) // 打印一个长整型,然后终止行。
void println(Object x) // 打印一个对象,然后终止该行。
void println(String x) // 打印一个字符串,然后终止行。
void write(char[] buf) // 写入一个字符数组。
void write(char[] buf, int off, int len) // 写一个字符数组的一部分。
void write(int c) // 写一个字符
void write(String s) // 写一个字符串
void write(String s, int off, int len) // 写一个字符串的一部分。
四、实例
public class PrintDemo {
public static void main(String[] args) {
testPrintStream();
testPrintWriter();
}
/**
* PrintStream 测试
*/
public static void testPrintStream() {
try {
PrintStream ps = new PrintStream("stream.txt");
ps.write("abcdefg".getBytes());
ps.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* PrintWriter 测试
*/
public static void testPrintWriter() {
try {
PrintWriter pw = new PrintWriter("writer.txt");
pw.write(new char[] {'A','B','C','D','E'});
pw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Java IO(十九)PrintStream 和 PrintWriter的更多相关文章
- “全栈2019”Java第九十九章:局部内部类与继承详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第二十九章:数组详解(中篇)
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第十九章:关系运算符、条件运算符和三元运算符
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- Java IO(九)FilterInputStream 和 FilterOutputStream
Java IO(九)FilterInputStream 和 FilterOutputStream 一.介绍 FilterInputStream 和 FilterOutputStream 是过滤字节输入 ...
- 系统学习 Java IO (十六)----这么多类,应该用哪个?
目录:系统学习 Java IO---- 目录,概览 Java IO目的和功能 Java IO 包含 InputStream,OutputStream,Reader 和 Writer 类的许多子类. 原 ...
- 缓冲字符流 java.io.BufferedWriter ,java.io.BufferedReader,缓冲字符输出流:PrintWriter
package seday07; import java.io.IOException;import java.io.PrintWriter; /*** @author xingsir * 缓冲字符流 ...
- JAVA提高十九:WeakHashMap&EnumMap&LinkedHashMap&LinkedHashSet深入分析
因为最近工作太忙了,连续的晚上支撑和上班,因此没有精力来写下这篇博客,今天上午正好有一点空,因此来复习一下不太常用的集合体系大家族中的几个类:WeakHashMap&EnumMap&L ...
- 系统学习 Java IO (十二)----数据流和对象流
目录:系统学习 Java IO---- 目录,概览 DataInputStream/DataOutputStream 允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型. 要想使用 ...
- 系统学习 Java IO (十五)----字符读写 Reader/Writer 其他子类
目录:系统学习 Java IO---- 目录,概览 跟踪行号的缓冲字符输入流 LineNumberReader LineNumberReader 类是一个 BufferedReader ,用于跟踪读取 ...
- 系统学习 Java IO (十四)----字符读写缓存和回退 BufferedReader/BufferedWriter & PushbackReader
目录:系统学习 Java IO---- 目录,概览 BufferedReader BufferedReader 类构造器接收一个 Reader 对象,为 Reader 实例提供缓冲. 缓冲可以加快 I ...
随机推荐
- Redis为什么是单线程的
一.前言 最近在学习Redis,这篇文章就来简单聊聊一道常考的面试题--Redis为什么是单线程的.废话不多说,直接开始吧. 二.正文 2.1 为什么需要多线程 首先,现在的CPU一般都是由多 ...
- visibility: hidden 和 display: none的区别
相同点: 两者都可以将dom元素隐藏 不同点: 1.display: none 隐藏之后不占用文档流,而visibility: hidden却会占用文档流,如果要在隐藏元素的同时获取其尺寸信息,那就可 ...
- STL下<algorithm>下的reverse函数
定义: reverse用于C++中,对给定区间所有元素进行排序,是一种反向函数,不具备排序功能.sort函数包含在头文件为#include<algorithm>的C++标准库中. 语法: ...
- 036_python的大文件下载以及进度条展示
复习 1.黏包现象 粘包现象的成因: tcp协议的特点,面向流的,为了保证可靠传输,所以有很多优化的机制. 无边界 所有在连接建立的基础上传递的数据之间没有界限. 收发消息很有可能不完全相等. 缓存机 ...
- QtCreator中使用链接库
说明 之前讨论的DLL的静态链接和动态连接都是基于 MSVC 编译器,但是 MinGW 似乎有另外一套类似但是不相同的机制.下文均在 windows 下使用 Qt Creator 中使用 MinGW ...
- linux centos7搭建redis-5.0.5
1. 下载redis 1.1 下载地址 http://download.redis.io/releases/ 1.2 安装版本 redis-5.0.5.tar.gz 2. 安装redis 2.1 前置 ...
- 第一行Kotlin系列(二)Intent隐式显式跳转及向下传值
1.Intent显式跳转页面 val button5 = findViewById<Button>(R.id.mButton5) button5.setOnClickListener { ...
- asp.net core + entity framework core 多数据库类型支持实战
根据微软官方文档的说法,有两种方法可以实现在一个app中同时适应多种不同类型的数据库,并且全部支持migrations操作.其一,使用两个dbcontext:其二,修改migration文件,添加特定 ...
- zookeeper和Eureka的区别
RDBMS==>(MySql,Oracle,SqlServer等关系型数据库)遵循的原则是:ACID原则 A:Atomicity 原子性 C:Consistency 一致性 I:Isolatio ...
- MySQL 入门(5):复制
摘要 在这篇文章中,我将从MySQL为什么需要主从复制开始讲起,然后会提到MySQL复制的前提,bin log. 在这里会说明三种格式的bin log分别会有什么优缺点. 随后会讲到主从延迟方面的问题 ...