PrintWriter是字符类型的打印输出流,继承于Writer,用于向文本输出流打印对象的格式化表示形式。

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)

示例代码:

public class PrintWriterTest {

    public static void main(String[] args) {

        // 下面3个函数的作用都是一样:都是将字母“abcde”写入到文件“file.txt”中。
        // 任选一个执行即可!
        testPrintWriterConstrutor1() ;
        //testPrintWriterConstrutor2() ;
        //testPrintWriterConstrutor3() ;

        // 测试write(), print(), println(), printf()等接口。
        testPrintWriterAPIS() ;
    }

    /**
     * PrintWriter(OutputStream out) 的测试函数
     *
     * 函数的作用,就是将字母“abcde”写入到文件“file.txt”中
     */
    private static void testPrintWriterConstrutor1() {
        final char[] arr={'a', 'b', 'c', 'd', 'e' };
        try {
            // 创建文件“file.txt”的File对象
            File file = new File("file.txt");
            // 创建文件对应FileOutputStream
            PrintWriter out = new PrintWriter(new FileOutputStream(file));
            // 将“字节数组arr”全部写入到输出流中
            out.write(arr);
            // 关闭输出流
            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

        /**
       * PrintWriter(File file) 的测试函数
        *
       * 函数的作用,就是将字母“abcde”写入到文件“file.txt”中
        */
        private static void testPrintWriterConstrutor2() {
            final char[] arr={'a', 'b', 'c', 'd', 'e' };
          try {
              File file = new File("file.txt");
                PrintWriter out = new PrintWriter(file);
                out.write(arr);
                out.close();
            } catch (IOException e) {
              e.printStackTrace();
            }
      }

        /**
       * PrintWriter(String fileName) 的测试函数
        *
       * 函数的作用,就是将字母“abcde”写入到文件“file.txt”中
        */
    private static void testPrintWriterConstrutor3() {
        final char[] arr={'a', 'b', 'c', 'd', 'e' };
          try {
              PrintWriter out = new PrintWriter("file.txt");
            out.write(arr);
            out.close();
            } catch (IOException e) {
              e.printStackTrace();
            }
      }

    /**
       * 测试write(), print(), println(), printf()等接口。
    */private static void testPrintWriterAPIS() {
            final char[] arr={'a', 'b', 'c', 'd', 'e' };
          try {
            // 创建文件对应FileOutputStream
            PrintWriter out = new PrintWriter("other.txt");

        // 将字符串“hello PrintWriter”+回车符,写入到输出流中
        out.println("hello PrintWriter");
        // 将0x41写入到输出流中
        // 0x41对应ASCII码的字母'A',也就是写入字符'A'
        out.write(0x41);
        // 将字符串"65"写入到输出流中。
        // out.print(0x41); 等价于 out.write(String.valueOf(0x41));
        out.print(0x41);
        // 将字符'B'追加到输出流中
        out.append('B').append("CDEF");

        // 将"CDE is 5" + 回车  写入到输出流中
        String str = "GHI";
             int num = 5;
        out.printf("%s is %d\n", str, num);

        out.close();
        } catch (IOException e) {
             e.printStackTrace();
        }
     }
}

Java-IO之PrintWriter(字符打印输出流)的更多相关文章

  1. java io系列25之 PrintWriter (字符打印输出流)

    更多内容请参考:java io系列01之 "目录" PrintWriter 介绍 PrintWriter 是字符类型的打印输出流,它继承于Writer.PrintStream 用于 ...

  2. 缓冲字符流 java.io.BufferedWriter ,java.io.BufferedReader,缓冲字符输出流:PrintWriter

    package seday07; import java.io.IOException;import java.io.PrintWriter; /*** @author xingsir * 缓冲字符流 ...

  3. Java IO(Properties/对象序列化/打印流/commons-io)

    Java IO(Properties/对象序列化/打印流/commons-io) Properties Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载. ...

  4. Java IO 字节流与字符流 (三)

    概述 IO流用来处理设备之间的数据传输 Java对数据的操作时通过流的方式 Java用于操作流的对象都在IO包中 流按操作的数据分为:字节流和字符流 流按流向不同分为:输入流和输出流 IO流常用基类 ...

  5. java io流(字符流) 文件打开、读取文件、关闭文件

    java io流(字符流) 文件打开 读取文件 关闭文件 //打开文件 //读取文件内容 //关闭文件 import java.io.*; public class Index{ public sta ...

  6. Java IO: 字节和字符数组

    原文链接  作者: Jakob Jenkov   译者:homesick 内容列表 从InputStream或者Reader中读入数组 从OutputStream或者Writer中写数组 在java中 ...

  7. JAVA IO 字节流与字符流

    文章出自:听云博客 题主将以三个章节的篇幅来讲解JAVA IO的内容 . 第一节JAVA IO包的框架体系和源码分析,第二节,序列化反序列化和IO的设计模块,第三节异步IO. 本文是第一节.     ...

  8. IO流_PrintWriter(字符打印流)与PrintStream(字节打印流)

    PrintStream:  1.提供了打印方法可以对多种数据类型值进行打印,并保持数据的表示形式  2.它不抛IOException  3.构造函数接受三种类型的值:  字符串路径  File对象   ...

  9. Java - IO 内存流和打印流

    IO 内存流和打印流操作 字符编码 计算机中所有的信息组成都是二进制数据,所有能够描述的中文文字都是经过处理后的结果:所有的语言文字都会使用编码来进行描述,例如:ASCII码 常见编码 GBK/GB2 ...

随机推荐

  1. C++函数的重载

    两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同,编译器根据实参与形参的类型以及个数的最佳匹配,自动确定调用的函数,这就是函数的重载. 两个名字相同的函数必须具有不同的形参,这里的不同指的 ...

  2. 什么是Hash?

    什么是Hash? Hash中文翻译为散列,又成为"哈希",是一类函数的统称,其特点是定义域无限,值域有限.把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换 ...

  3. 数据结构 栈&队列

    2-4 依次在初始为空的队列中插入元素a,b,c,d以后,紧接着做了两次删除操作,此时的队头元素是( ) 删除,移动头指针: 增加,移动尾指针: 删除a,b ,队头c 2-3 在一个链队列中,fron ...

  4. Spring Boot 2.0系列文章(五):Spring Boot 2.0 项目源码结构预览

    关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/04/15/springboot2_code/ 项目结构 结构分析: Spring-boot-pr ...

  5. 如何为分布式系统优雅的更换RPC

    为啥需要更换RPC? 很多小伙伴都遇到过需要为分布式系统调用更换RPC的问题,为什么会遇到这种事呢?其实,在系统搭建初期,需求简单,架构简单,最重要的是请求量也少,所以很多系统都采用快速原型开发模式, ...

  6. 重构:从Promise到Async/Await

    摘要: 夸张点说,技术的发展与历史一样,顺之者昌,逆之者亡.JS开发者们,赶紧拥抱Async/Await吧! GitHub仓库: Fundebug/promise-asyncawait 早在半年多之前 ...

  7. jvm(四):垃圾回收

    垃圾回收我们主要从以下三个方面进行描述 垃圾对象的判断 目前判断对象为垃圾对象有两种方法:引用计数法,可达性分析法,目前普遍是的是可达性分析法 可达性分析法的实现原理: 定义gcroot一直往下找,如 ...

  8. 在OpenCV3.1.0中使用SIFT,SURF算法

    写在前边: 1.我使用的是python2.7 + OpenCV3.1.0 2.OpenCV3.0.0+的文档有很大问题,很多文档写的还是OpenCV2.0+, OpenCV3.0+根本用不了,其中有一 ...

  9. 闭关修炼屯题中,期末考完A

    FJUTOJ 1279 #include <cstdio> #include <iostream> #include <algorithm> #include &l ...

  10. JavaScript 对象JavaScript 对象

    JavaScript 中的所有事物都是对象:字符串.数值.数组.函数... 此外,JavaScript 允许自定义对象. 所有事物都是对象 JavaScript 提供多个内建对象,比如 String. ...