javaio-printwriter
转自http://www.cnblogs.com/skywang12345/p/io_25.html
PrintWriter 介绍
PrintWriter 是字符类型的打印输出流,它继承于Writer。
PrintStream 用于向文本输出流打印对象的格式化表示形式。它实现在 PrintStream 中的所有 print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。
PrintWriter 函数列表

PrintWriter(OutputStream out)
PrintWriter(OutputStream out, boolean autoFlush)
PrintWriter(Writer wr)
PrintWriter(Writer wr, boolean autoFlush)
PrintWriter(File file)
PrintWriter(File file, String csn)
PrintWriter(String fileName)
PrintWriter(String fileName, String csn) PrintWriter append(char c)
PrintWriter append(CharSequence csq, int start, int end)
PrintWriter append(CharSequence csq)
boolean checkError()
void close()
void flush()
PrintWriter format(Locale l, String format, Object... args)
PrintWriter format(String format, Object... args)
void print(float fnum)
void print(double dnum)
void print(String str)
void print(Object obj)
void print(char ch)
void print(char[] charArray)
void print(long lnum)
void print(int inum)
void print(boolean bool)
PrintWriter printf(Locale l, String format, Object... args)
PrintWriter printf(String format, Object... args)
void println()
void println(float f)
void println(int i)
void println(long l)
void println(Object obj)
void println(char[] chars)
void println(String str)
void println(char c)
void println(double d)
void println(boolean b)
void write(char[] buf, int offset, int count)
void write(int oneChar)
void write(char[] buf)
void write(String str, int offset, int count)
void write(String str)

PrintWriter 源码
示例代码
关于PrintWriter中API的详细用法,参考示例代码(PrintWriterTest.java):

1 import java.io.PrintWriter;
2 import java.io.File;
3 import java.io.FileOutputStream;
4 import java.io.IOException;
5
6 /**
7 * PrintWriter 的示例程序
8 *
9 * @author skywang
10 */
11 public class PrintWriterTest {
12
13 public static void main(String[] args) {
14
15 // 下面3个函数的作用都是一样:都是将字母“abcde”写入到文件“file.txt”中。
16 // 任选一个执行即可!
17 testPrintWriterConstrutor1() ;
18 //testPrintWriterConstrutor2() ;
19 //testPrintWriterConstrutor3() ;
20
21 // 测试write(), print(), println(), printf()等接口。
22 testPrintWriterAPIS() ;
23 }
24
25 /**
26 * PrintWriter(OutputStream out) 的测试函数
27 *
28 * 函数的作用,就是将字母“abcde”写入到文件“file.txt”中
29 */
30 private static void testPrintWriterConstrutor1() {
31 final char[] arr={'a', 'b', 'c', 'd', 'e' };
32 try {
33 // 创建文件“file.txt”的File对象
34 File file = new File("file.txt");
35 // 创建文件对应FileOutputStream
36 PrintWriter out = new PrintWriter(
37 new FileOutputStream(file));
38 // 将“字节数组arr”全部写入到输出流中
39 out.write(arr);
40 // 关闭输出流
41 out.close();
42 } catch (IOException e) {
43 e.printStackTrace();
44 }
45 }
46
47 /**
48 * PrintWriter(File file) 的测试函数
49 *
50 * 函数的作用,就是将字母“abcde”写入到文件“file.txt”中
51 */
52 private static void testPrintWriterConstrutor2() {
53 final char[] arr={'a', 'b', 'c', 'd', 'e' };
54 try {
55 File file = new File("file.txt");
56 PrintWriter out = new PrintWriter(file);
57 out.write(arr);
58 out.close();
59 } catch (IOException e) {
60 e.printStackTrace();
61 }
62 }
63
64 /**
65 * PrintWriter(String fileName) 的测试函数
66 *
67 * 函数的作用,就是将字母“abcde”写入到文件“file.txt”中
68 */
69 private static void testPrintWriterConstrutor3() {
70 final char[] arr={'a', 'b', 'c', 'd', 'e' };
71 try {
72 PrintWriter out = new PrintWriter("file.txt");
73 out.write(arr);
74 out.close();
75 } catch (IOException e) {
76 e.printStackTrace();
77 }
78 }
79
80 /**
81 * 测试write(), print(), println(), printf()等接口。
82 */
83 private static void testPrintWriterAPIS() {
84 final char[] arr={'a', 'b', 'c', 'd', 'e' };
85 try {
86 // 创建文件对应FileOutputStream
87 PrintWriter out = new PrintWriter("other.txt");
88
89 // 将字符串“hello PrintWriter”+回车符,写入到输出流中
90 out.println("hello PrintWriter");
91 // 将0x41写入到输出流中
92 // 0x41对应ASCII码的字母'A',也就是写入字符'A'
93 out.write(0x41);
94 // 将字符串"65"写入到输出流中。
95 // out.print(0x41); 等价于 out.write(String.valueOf(0x41));
96 out.print(0x41);
97 // 将字符'B'追加到输出流中
98 out.append('B').append("CDEF");
99
100 // 将"CDE is 5" + 回车 写入到输出流中
101 String str = "GHI";
102 int num = 5;
103 out.printf("%s is %d\n", str, num);
104
105 out.close();
106 } catch (IOException e) {
107 e.printStackTrace();
108 }
109 }
110 }

运行上面的代码,会在源码所在目录生成两个文件“file.txt”和“other.txt”。
file.txt的内容如下:
abcde
other.txt的内容如下:
hello PrintWriter
A65BCDEFGHI is 5
javaio-printwriter的更多相关文章
- Java-IO之PrintWriter(字符打印输出流)
PrintWriter是字符类型的打印输出流,继承于Writer,用于向文本输出流打印对象的格式化表示形式. PrintWriter的主要函数: PrintWriter(OutputStream ou ...
- [二十四]JavaIO之PrintWriter
功能简介 PrintWriter 向文本输出流打印对象的格式化表示形式 他与PrintStream的逻辑上功能目的是相同的--他们都想做同一件事情--更便捷的格式化打印输出 Print ...
- Java学习日记之 Java-IO流
Java中的IO流在处理上分为字节流和字符流.字节流和字符流的区别 : 1.字节流读取的时候,读到一个字节就返回一个字节: 字符流使用了字节流读到一个或多个字节(中文对应的字节数是两个,在UTF-8 ...
- javaIO框架小析
IO即数据读写.数据是应用的中心要素,而数据读写的能力和可扩展性是编程平台的基础支撑. 概念框架 方式: 字节流 Byte 和 字符流 Char 方向: 输入 Input 和 输出 Output : ...
- [三]JavaIO之IO体系类整体设计思路 流的概念以及四大基础分类
从本文开始,将正式进入JavaIO的简介 在继续javaIO系列的文章之前 可以过去看一下 本人博客上的设计模式中的 适配器模式和装饰器模式 这会对接下来的阅读大有帮助 本文是从逻辑上介绍整个的J ...
- [四] JavaIO之类层次体系结构横向比对
IO家族类层次体系结构横向匹配 上一篇文章中主要介绍了JavaIO流家族的整体设计思路,简单回顾下 基本逻辑涉及数据源 流的方向,以及流的数据形式这三个部分的组合 按照流的数据形式和流的方向, ...
- [二十六]JavaIO之再回首恍然(如梦? 大悟?)
流分类回顾 本文是JavaIO告一段落的总结帖 希望对JavaIO做一个基础性的总结(不涉及NIO) 从实现的角度进行简单的介绍 下面的这两个表格,之前出现过 数据源形式 InputStream Ou ...
- JavaIO简单代码实例
最近又复习了下JavaIO写了些实例代码都很简单但是能体现大部分方法的用法. IO流实现文件的拷贝 几种不同的方法: package com.wxisme.TestIO; import java. ...
- JavaIO流(输入输出操作)
Java中执行输出和输入操作,需要通过IO流.例如最常见的System.out.println()就是一个输出流.IO流的类比较多,但核心体系就是由File. InputStream .OutputS ...
- javaIO -- 流的体系设计思路、基础分类
一.流 1. 流的含义 在程序设计中,流是对于数据流动传输的一种抽象描述任何有能力产出数据的数据源,或者有能力接受数据的接收端对象都是一个流. 2. 流的源和目的 数据可能从本地文件读取,或者写入, ...
随机推荐
- Android调用Sqlite数据库时自动生成db-journal文件的原因
数据库为了更好实现数据的安全性,一半都会有一个Log文件方便数据库出现意外时进行恢复操作等.Sqlite虽然是一个单文件数据库,但麻雀虽小五脏俱全,它也会有相应的安全机制存在 这个journal文件便 ...
- bzoj 2301 莫比乌斯反演
对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. 这里题目意思很明显 对于要求的f[n] = sig ...
- AngularJS结构简介
AngularJS是MVC架构,M是C里面的属性-值,C是js的class,V是DOM 各个关键特性的结构如下图所示: http://my.oschina.net/tommyfok/blog/2970 ...
- Chrome 应用推荐 - 下载管理扩展: Chrono
地址:http://goo.gl/JVdxvg Chrono下载管理器让你轻松高效地管理Chrome浏览器中的下载任务.Chrono与Chrome浏览器紧密地整合在一起,如菜单.工具栏支持等等.Chr ...
- SharePoint 2013 Nintex Workflow 工作流帮助(八)
博客地址 http://blog.csdn.net/foxdave 工作流动作 15. Complete Workflow Task(User interaction分组) 此工作流动作将完成任何进行 ...
- JS 跨域问题浅析及解决方法优缺点对比(转)
1.所谓 JS 跨域问题,是指在一个域下的页面中通过js访问另一个不同域下 的数据对象, 出于安全性考 虑,几乎所有浏览器都不允许这种跨域访问,这就导致在一些ajax应用中, 使用跨域的web ser ...
- Ubuntu 14.10 下Ganglia监控Hadoop集群
前提是已经安装好Ganglia和Hadoop集群 1 Master节点配置hadoop-metrics2.properties # syntax: [prefix].[source|sink|jmx] ...
- linux基础命令学习(三)Vim使用
1. # vim 1.txt 命令模式: a i o A I O x X yy dd p G dw de h j k l f H M B a --- append 追加 在光标所在位置后追加一个字符 ...
- Interview----First single charactor
题目:在一个字符串中找到第一个只出现一次的字符.如输入 abaccdeff,则输出 b. 分析:这道题是 2006 年 google 的一道笔试题. 分析: 用 Hash, 时间和空间复杂度是 O(N ...
- iPhone各控件的默认高度
1.状态栏 状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注意,两倍高度的状态栏在好像只能在纵向的模式下使用.如下图 用户可以隐藏状态栏,也可以将状态栏设置为灰色,黑色或者半透明 ...