PrintWrite
向文本输出流打印对象的格式化表示形式。此类实现在 PrintStream
中的所有 print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。
与 PrintStream
类不同,如果启用了自动刷新,则只有在调用 println、printf 或 format 的其中一个方法时才可能完成此操作,而不是每当正好输出换行符时才完成。这些方法使用平台自有的行分隔符概念,而不是换行符。
此类中的方法不会抛出 I/O 异常,尽管其某些构造方法可能抛出异常。客户端可能会查询调用 checkError()
是否出现错误。
构造方法表
PrintWriter(File file) 使用指定文件创建不具有自动行刷新的新 PrintWriter。 |
PrintWriter(File file, String csn) 创建具有指定文件和字符集且不带自动刷行新的新 PrintWriter。 |
PrintWriter(OutputStream out) 根据现有的 OutputStream 创建不带自动行刷新的新 PrintWriter。 |
PrintWriter(OutputStream out, 通过现有的 OutputStream 创建新的 PrintWriter。 |
PrintWriter(String fileName) 创建具有指定文件名称且不带自动行刷新的新 PrintWriter。 |
PrintWriter(String fileName, String csn) 创建具有指定文件名称和字符集且不带自动行刷新的新 PrintWriter。 |
PrintWriter(Writer out) 创建不带自动行刷新的新 PrintWriter。 |
PrintWriter(Writer out, 创建新 PrintWriter。 |
printwriter类的方法表
PrintWriter |
append(char c) 将指定字符添加到此 writer。 |
PrintWriter |
append(CharSequence csq) 将指定的字符序列添加到此 writer。 |
PrintWriter |
append(CharSequence csq, int start, 将指定字符序列的子序列添加到此 writer。 |
boolean |
checkError() 如果流没有关闭,则刷新流且检查其错误状态。 |
protected |
clearError() 清除此流的错误状态。 |
void |
close() 关闭该流并释放与之关联的所有系统资源。 |
void |
flush() 刷新该流的缓冲。 |
PrintWriter |
format(Locale l, String format, Object... args) 使用指定格式字符串和参数将一个格式化字符串写入此 writer 中。 |
PrintWriter |
format(String format, Object... args) 使用指定格式字符串和参数将一个格式化字符串写入此 writer 中。 |
void |
print(boolean b) 打印 boolean 值。 |
void |
print(char c) 打印字符。 |
void |
print(char[] s) 打印字符数组。 |
void |
print(double d) 打印 double 精度浮点数。 |
void |
print(float f) 打印一个浮点数。 |
void |
print(int i) 打印整数。 |
void |
print(long l) 打印 long 整数。 |
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) 打印 boolean 值,然后终止该行。 |
void |
println(char x) 打印字符,然后终止该行。 |
void |
println(char[] x) 打印字符数组,然后终止该行。 |
void |
println(double x) 打印双精度浮点数,然后终止该行。 |
void |
println(float x) 打印浮点数,然后终止该行。 |
void |
println(int x) 打印整数,然后终止该行。 |
void |
println(long x) 打印 long 整数,然后终止该行。 |
void |
println(Object x) 打印 Object,然后终止该行。 |
void |
println(String x) 打印 String,然后终止该行。 |
protected |
setError() 指示已发生错误。 |
void |
write(char[] buf) 写入字符数组。 |
void |
write(char[] buf, 写入字符数组的某一部分。 |
void |
write(int c) 写入单个字符。 |
void |
write(String s) 写入字符串。 |
void |
write(String s, int off, 写入字符串的某一部分。 |
PrintWriter类用法,代码示例:
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter; public class PrintWriterTest { public static void main(String[] args) throws IOException {
/*
* 创建输出流,将信息写入指定的文件中
*/
OutputStream os=new FileOutputStream("C:\\Users\\Administrator\\Desktop\\新建文本文档.txt");
PrintWriter pw=new PrintWriter(os);
pw.write("How are you ? ");
pw.append("i am fine ");
pw.println("and you ? ");
pw.write(" me too "); //输出流需要在读取之前关闭保存
pw.close();
os.close(); /*
* 创建输入流,将信息读到控制台
*/
InputStream is=new FileInputStream("C:\\Users\\Administrator\\Desktop\\新建文本文档.txt");
InputStreamReader isr=new InputStreamReader(is);
BufferedReader br=new BufferedReader(isr); String info=null;
info=br.readLine();
while(info!=null){
System.out.println(info);
info=br.readLine();
}
br.close();
isr.close();
is.close();
}
结果:
How are you ? i am fine and you ? me too
BufferedWriter和PrintWriter都可以写入数据,但BufferedWriter没有相关的格式化的方法,而PrintWriter可以在写入同时对写入的数据进行格式化。
PrintWrite的更多相关文章
- Java中的Socket的用法
Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...
- java 通过jdbc连接MySQL数据库
先了解下JDBC的常用接口 1.驱动程序接口Driver 每种数据库的驱动程序都应该提供一个实现java.sql.Driver接口的类,简称Driver类.通常情况下,通过java.lang.Clas ...
- [Java面试二]Java基础知识精华部分.
一:java概述(快速浏览): 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器: 1994年将Oak语言更名 ...
- Java Web之JSP技术
JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术.JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比htm ...
- java web 学习 --第五天(Java三级考试)
第四天的学习内容:http://www.cnblogs.com/tobecrazy/p/3454860.html Response对象 response对象主要是向客户端浏览器发送二进制数据,如输出C ...
- 解决HttpServletResponse输出的中文乱码问题
http://blog.csdn.net/simon_1/article/details/9092747 首先,response返回有两种,一种是字节流outputstream,一种是字符流print ...
- Java 输入输出流 转载
转载自:http://blog.csdn.net/hguisu/article/details/7418161 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所 ...
- JSP内置对象的解析
JSP九大对象及四大作用域并与之对应图表: 隐式对象 作用域 所属类 application application javax.servlet.ServletContext session sess ...
- [转] 解决HttpServletResponse输出的中文乱码问题
首先,response返回有两种,一种是字节流outputstream,一种是字符流printwrite. 申明:这里为了方便起见,所有输出都统一用UTF-8编码. 先说字节流,要输出“中国" ...
随机推荐
- bzoj1064【Noi2008】假面舞会
题意:http://www.lydsy.com/JudgeOnline/problem.php?id=1064 给一个有向图染色,每个点的后继必须相同,问至少&至多有多少种染色方案 sol: ...
- bzoj2748 [HAOI2012]音量调节 背包
Description 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都要改变一次音量.在演出开始之前,他已经做好了一个列表,里面写着在每首歌开始之前他想要改 ...
- java date类型和calendar类型区别
Date类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理.这里简单介绍一下Date ...
- Ansible进阶
YAML YAML简介 YAML是一个可读性高,并用来表达资料序列的格式.YAML参考了其它多种语言,包括:XML.C语言.Python.Perl以及电子邮件格式RFC2822等 它是一种直观的能够被 ...
- Linux 下MySQL 安装与卸载
这个写的比较好:http://www.cnblogs.com/starof/p/4680083.html 2.卸载系统自带的Mariadb rpm -qa|grep mariadb / ...
- centos7 安装teamviewer 报错libQt5WebKitWidgets.so.5()(64bit)
https://blog.csdn.net/kenny_lz/article/details/78884603
- JFinal2.0极速开发视频教程发布【转】
原文:http://blog.dreamlu.net/blog/79 目前JFinal越来越火爆,而且使用的公司越来越多.鉴于市面上JFinal的学习资源不多,我们开始基于JFinal2.0录制学习视 ...
- python socket非阻塞及python队列Queue
一. python非阻塞编程的settimeout与setblocking+select 原文:www.th7.cn/Program/Python/201406/214922.shtml 侧面认证Py ...
- Idea Failed to read artifact descriptor for xx:jar:unknown
网上的解决方案: 根据网上说明添加了maven命令clean compile install -Dmaven.test.skip=true,与我遇到的问题不同 有的方法猜测可以通过,但是没时间测试了 ...
- jmeter Plugins Manager插件管理
在 https://jmeter-plugins.org/downloads/all/ 下载插件,放到lib/ext Download plugins-manager.jar and put it i ...