转自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的更多相关文章

  1. Java-IO之PrintWriter(字符打印输出流)

    PrintWriter是字符类型的打印输出流,继承于Writer,用于向文本输出流打印对象的格式化表示形式. PrintWriter的主要函数: PrintWriter(OutputStream ou ...

  2. [二十四]JavaIO之PrintWriter

      功能简介   PrintWriter   向文本输出流打印对象的格式化表示形式 他与PrintStream的逻辑上功能目的是相同的--他们都想做同一件事情--更便捷的格式化打印输出   Print ...

  3. Java学习日记之 Java-IO流

    Java中的IO流在处理上分为字节流和字符流.字节流和字符流的区别 : 1.字节流读取的时候,读到一个字节就返回一个字节:  字符流使用了字节流读到一个或多个字节(中文对应的字节数是两个,在UTF-8 ...

  4. javaIO框架小析

    IO即数据读写.数据是应用的中心要素,而数据读写的能力和可扩展性是编程平台的基础支撑. 概念框架 方式: 字节流 Byte 和 字符流 Char 方向: 输入 Input 和 输出 Output : ...

  5. [三]JavaIO之IO体系类整体设计思路 流的概念以及四大基础分类

    从本文开始,将正式进入JavaIO的简介 在继续javaIO系列的文章之前 可以过去看一下 本人博客上的设计模式中的 适配器模式和装饰器模式 这会对接下来的阅读大有帮助   本文是从逻辑上介绍整个的J ...

  6. [四] JavaIO之类层次体系结构横向比对

      IO家族类层次体系结构横向匹配   上一篇文章中主要介绍了JavaIO流家族的整体设计思路,简单回顾下 基本逻辑涉及数据源 流的方向,以及流的数据形式这三个部分的组合 按照流的数据形式和流的方向, ...

  7. [二十六]JavaIO之再回首恍然(如梦? 大悟?)

    流分类回顾 本文是JavaIO告一段落的总结帖 希望对JavaIO做一个基础性的总结(不涉及NIO) 从实现的角度进行简单的介绍 下面的这两个表格,之前出现过 数据源形式 InputStream Ou ...

  8. JavaIO简单代码实例

    最近又复习了下JavaIO写了些实例代码都很简单但是能体现大部分方法的用法. IO流实现文件的拷贝   几种不同的方法: package com.wxisme.TestIO; import java. ...

  9. JavaIO流(输入输出操作)

    Java中执行输出和输入操作,需要通过IO流.例如最常见的System.out.println()就是一个输出流.IO流的类比较多,但核心体系就是由File. InputStream .OutputS ...

  10. javaIO -- 流的体系设计思路、基础分类

    一.流 1. 流的含义 在程序设计中,流是对于数据流动传输的一种抽象描述任何有能力产出数据的数据源,或者有能力接受数据的接收端对象都是一个流. 2. 流的源和目的 数据可能从本地文件读取,或者写入,  ...

随机推荐

  1. php解密java的DES加密

    echo openssl_decrypt( $密文 ,"des-ecb" , $密钥 );

  2. 【C语言学习】-04 一维数组、字符数组

    一维数组.数组排序.字符数

  3. Rhel6-tomcat+nginx+memcached配置文档

    理论基础: User - > web ->nginx  ->tomcat1 ->*.jsp 80          8080 ↓      -> tomcat2 html ...

  4. mysql一次添加多条记录

    inisert into tabale (name,pwd) values ("jom","123"),("tom","123&q ...

  5. matlab图形句柄属性总结

    原文在于雪漫的bloghttp://blog.sina.com.cn/s/blog_4b9b714a0100cce2.html这两天在看句柄式图形方面的东西,以下是我在看书过程中整理的学习笔记,比较详 ...

  6. C++全局变量在多个源代码文件中的使用

    在比较大的项目中,如果需要使用全局变量,那么就需要注意一些全局变量声明.使用不当引起的问题了. 本篇文章主要内容有两个:普通全局变量.静态全局变量.全局常量. 1.普通全局变量:假设我们需要在多个不同 ...

  7. ARC以及MRC中setter方法

    ARC以及MRC中setter方法的差异 有时候,你会需要重写setter或者getter方法,你知道么,ARC与MRC的setter方法是有着差异的呢. 先看下MRC下的setter方法: 在看下A ...

  8. C#语法问答式总结

    传入某个属性的set方法的隐含参数的名称是什么?value,它的类型和属性所声名的类型相同. 如何在C#中实现继承?在类名后加上一个冒号,再加上基类的名称. C#支持多重继承么?不支持.可以用接口来实 ...

  9. ant新建scp和sshexec任务

    1.build.xml中新建targer如下: <target name="remotecopytest" description="拷贝文件到远程服务器" ...

  10. KeySweeper 微软无线键盘嗅探装置

    Author:Samy Kamkar From: http://samy.pl/keysweeper/ 中文字幕由Galaxy无名提供 PS:视频传到youku之后发现50秒左右的字幕被干掉了,不知道 ...