PrintWriter用法简析
public class PrintWriterextends Writer
向文本输出流打印对象的格式化表示形式。此类实现在 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 javaTest { public static void main(String[] args) throws IOException {
/*
* 创建输出流,将信息写入指定的文件中
*/
OutputStream os=new FileOutputStream("C:\\Users\\qinghuang\\Desktop\\io1.txt");
PrintWriter pw=new PrintWriter(os);
pw.write("小帅哥");
pw.append(" 你真帅~");
pw.println("我稀罕你");
pw.write("我爱你");
//输出流需要在读取之前关闭保存
pw.close();
os.close(); /*
* 创建输入流,将信息读到控制台
*/
InputStream is=new FileInputStream("C:\\Users\\qinghuang\\Desktop\\io1.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();
}
}
运行结果:
小帅哥 你真帅~我稀罕你 我爱你
io2.txt文档中为:
小帅哥 你真帅~我稀罕你
我爱你
分析:从上述的代码实现中可以看出,PrintWriter类对象的write()、print()、append()方法实现最后结果相同,只是在调用的时候其返回值有所不同,可根据需要进行灵活的选择,其他没有看出有什么不同。(这个结论通过查询jdk api文档和程序测试得来的)。另一个注意:一般I/O流的输入方和输出方的类是成对出现的,但是PrintWriter不是,并没有与之对应的类。
PrintWriter用法简析的更多相关文章
- sscanf用法简析
1. 常见用法. char buf[512] = ; sscanf("123456 ", "%s", buf); printf("%s\n" ...
- Android Support Library 23.2用法简析
写在前面的几句话 前几天谷歌发布了android-support-library-23.2支持库,这一次23.2版本增加了一些新的支持库以及新的功能.接下来这篇文章,就是对这些新功能部分做简单的用法介 ...
- android:descendantFocusability用法简析
开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了 ...
- 坑爹的属性,android:descendantFocusability用法简析
开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承 BaseAdapter,在adapter中按照需求进行编写,问题就出现 ...
- 80、Flask用法简析
本篇导航: 基本使用 模板.请求和响应 Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于 ...
- C# 线程池ThreadPool的用法简析
https://blog.csdn.net/smooth_tailor/article/details/52460566 什么是线程池?为什么要用线程池?怎么用线程池? 1. 什么是线程池? .NET ...
- 【python笔记】python中的list、tuple、set、dict用法简析
list list是一种有序的集合(或称作列表),可以很方便地添加和删除其中的元素. >>> classmates = ['Michael', 'Bob', 'Tracy'] 可通过 ...
- android:descendantFocusability用法简析(转)
开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题 ...
- Entitas实现简析
Entitas实现简析 这里主要讲Entitas的执行原理,不讲Entitas的代码生成方面. ECS简介 ECS(实体-组件-系统)是一种常用于游戏开发的架构模式. 实体: 实体只是一个 ...
随机推荐
- LPC1768定时器普通定时
//其他通道的基本定时功能都能在这里实现 void Time0Mr0Init(u32 arr,u32 psc) { LPC_SC->PCONP |= (1<<1); ...
- IO的五种模型
为了区分IO的五种模型,下面先来看看同步与异步.阻塞与非阻塞的概念差别. 同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回.按照这个定义,其实绝大多数函数都是同步调用(例如 ...
- GB和GBDT 算法流程及分析
1.优化模型的两种策略: 1)基于残差的方法 残差其实就是真实值和预测值之间的差值,在学习的过程中,首先学习一颗回归树,然后将“真实值-预测值”得到残差,再把残差作为一个学习目标,学习下一棵回归树,依 ...
- MAC + java 环境配置
1. 下载安装 jdk 2. 配置环境 2.1. cd到目录 etc/profile 2.2. 使文件可读:chmod 666 profile model 2.3. 添加环境变量,要切换到etc目录: ...
- Grunt构建工具能做哪些事?
Grunt到底有什么作用?一般用来干嘛? 很多前端的工作,包括Less编译.javascript压缩.Css压缩等零零碎碎的工作, 都可以让Grunt来做. 实际上在项目开发中,一般是前端代码 与 后 ...
- ThinkPHP使用技巧经验总结
add方法返回主键(id)的值 在往数据表中添加数据时调用add方法,默认返回值就是刚添加的id值,就不用再去查询了. save方法返回值的判断 在修改数据时,如果修改成功返回的是1,不成功则是0,如 ...
- 启动子&外显子&内含子
启动子 http://baike.baidu.com/link?url=HMqaMY4mXusH--4hMu1p6P_XUzEve9lZhFGtxScnbb8Z9HaLYJ981eWxAuZt2iAP ...
- 1.4.2. 实现 Core Data Helper 类(Core Data 应用程序实践指南)
该类分为四个部分:FILES.PATHS.SETUP.SAVING. 1.4.2.1. FILES 1.4.2.2. PATHS 1.4.2.3. SETUP 1.4.2.4. SAVING 1.4. ...
- PHP文件夹文件拷贝/复制函数 dir_copy($src = '', $dst = '')
/* * 文件夹文件拷贝 * * @param string $src 来源文件夹 * @param string $dst 目的地文件夹 * @return bool */ function dir ...
- 通过RMAN克隆11g数据库(基于active database)
11g的RMAN duplicate 可以通过Active databaseduplicate和Backup-based duplicate两种方法实现.这里的测试使用的是Active databas ...