打印输出流PrintStream和PrintWriter(五)上

简介: 打印输出流,是做什么用的呢? 是方便将输出信息打印的流,在显示信息的时候,可以让其有格式地进行显示。 一般,打印输出流输出的对象是屏幕, 但也可以是输出流。 打印输出流,根据字节/字符的不同,又可以分为 字节打印输出流 PrintStream 和字符打印输出流 PrintWriter.

打印输出流,是做什么用的呢? 是方便将输出信息打印的流,在显示信息的时候,可以让其有格式地进行显示。 一般,打印输出流输出的对象是屏幕, 但也可以是输出流。 打印输出流,根据字节/字符的不同,又可以分为 字节打印输出流 PrintStream 和字符打印输出流 PrintWriter.


相比较以前讲得输出流, 主要区别是对输出信息进行格式化。


一. 字节打印输出流 PrintStream


一.一 方法


一.一.一 构造方法


一.一.一.一 方法


image.png


一.一.一.二 演示


 @Test
    public void conTest() throws Exception{
        String path="E:"+ File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc"
                +File.separator+"p1.txt";
        //第一种方式
        File file=new File(path);
        PrintStream printStream=new PrintStream(file);
        //第二种方式  是否自动刷新
        PrintStream printStream1=new PrintStream(new FileOutputStream(file),true);
        //第三种,文件路径
        PrintStream printStream2=new PrintStream(path);
    }


一.一.二 普通方法


image.png


一般使用的是 printf() 进行相应的格式化。


格式样式有:


image.png


一.二 演示打印输出


一.二.一 基本打印和换行打印


    @Test
    public void print1Test() throws Exception{
        String path="E:"+ File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc"
                +File.separator+"p1.txt";
        //第一种方式
        File file=new File(path);
        PrintStream printStream=new PrintStream(new FileOutputStream(file,true),true);
        //打印普通的
        printStream.print(65);
        printStream.print('A');
        printStream.print(23.4);
        printStream.print("你好啊");
        printStream.print(true);
        //write方式
        printStream.write("\r\n write方式写入进来".getBytes("UTF-8"));
        //append
        printStream.append("\r\n").append("append方式").append("写入进来");
        //换行打印
        printStream.println("");
        printStream.println("你好啊,我是两个蝴蝶飞");
        printStream.close();
    }


原先是没有 p1.txt 文件的,会自动创建该文件。


运行程序,查看p1.txt 文件的内容


20200617155709486.png


一.二.二 格式化打印信息


@Test
    public void print3Test() throws Exception{
        String path="E:"+ File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc"
                +File.separator+"p1.txt";
        //第一种方式
        File file=new File(path);
        PrintStream printStream=new PrintStream(new FileOutputStream(file,true),true);
        printStream.println("有格式 printf 的打印");
        String name="两个蝴蝶飞";
        int age=25;
        //利用 printf 进行格式化打印
        printStream.printf("我是%s,我%d岁了",name,age);
        printStream.print("format打印:");
        //不能换行
        printStream.format("我是%s,我%d岁了",name,age);
        printStream.close();
    }


运行程序, 查看p1.txt 文件的新内容


20200617155714766.png


二. 字符打印输出流 PrintWriter


二.一 方法


二.一.一 构造方法


二.一.一.一 方法


image.png


二.一.一.二 演示


    @Test
    public void conTest() throws Exception{
        String path="E:"+ File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc"
                +File.separator+"p2.txt";
        //第一种方式
        File file=new File(path);
        PrintWriter printWriter=new PrintWriter(file);
        //第二种方式  是否自动刷新
        PrintWriter printWriter1=new PrintWriter(new FileOutputStream(file),true);
        //第三种
        PrintWriter printWriter2=new PrintWriter(
                new FileWriter(file),true);
        //第四种 文件路径
        PrintWriter printWriter3=new PrintWriter(path,"UTF-8");
    }


二.一.二 普通方法


image.png


二.二 演示 PrintWriter


二.二.一 基本打印和换行打印


  @Test
    public void print1Test() throws Exception{
        String path="E:"+ File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc"
                +File.separator+"p2.txt";
        //第一种方式
        File file=new File(path);
        PrintWriter printWriter=new PrintWriter(new FileOutputStream(file,true),true);
        //打印普通的
        printWriter.print(65);
        printWriter.print('A');
        printWriter.print(23.4);
        printWriter.print("你好啊");
        printWriter.print(true);
        //write方式
        printWriter.write("\r\n write 字符数组方式写入进来".toCharArray());
        //append
        printWriter.append("\r\n").append("append方式").append("写入进来");
        printWriter.write("\r\n write 字符串方式写入进来");
        printWriter.println("");
        printWriter.println("你好啊,我是两个蝴蝶飞");
        printWriter.close();
    }


原先是没有 p2.txt 文件的,会自动创建该文件。


运行程序,查看p2.txt 文件的内容


20200617155723415.png


二.二.二 格式化打印信息


 @Test
    public void print2Test() throws Exception{
        String path="E:"+ File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc"
                +File.separator+"p2.txt";
        //第一种方式
        File file=new File(path);
        PrintWriter printWriter=new PrintWriter(new FileOutputStream(file,true),true);
        printWriter.println("有格式 printf 的打印");
        String name="两个蝴蝶飞";
        int age=25;
        //利用 printf 进行格式化打印
        printWriter.printf("我是%s,我%d岁了",name,age);
        printWriter.println("format打印:");
        //不能换行
        printWriter.format("我是%s,我%d岁了",name,age);
        printWriter.close();
    }


运行程序,查看 p2.txt 的新内容


20200617155728359.png

相关文章
|
6月前
|
移动开发 Java Linux
IO流:字节输出流FileOutputStream的超详细用法
IO流:字节输出流FileOutputStream的超详细用法
|
Java
Java IO流--打印流PrintStream和PrintWriter的使用详解
Java IO流--打印流PrintStream和PrintWriter的使用详解
139 0
|
Java
Java IO流之访问文件的字节输入流FileInputStream和字节输入流FileOutputStream的详解
Java IO流之访问文件的字节输入流FileInputStream和字节输入流FileOutputStream的详解
98 0
|
Java 数据处理
Java IO(File、字节输入输出流、字符输入输出流、打印流)附带相关面试题
1.File类,2.字节输入输出流(InputStream Outputstream),3.Writer与Reader字符输入输出流,4.打印流
86 0
|
存储 缓存 Java
【Java I/O 流】字符输入输出流:Reader 和 Writer
前面我们已经学会了字节流的使用,本篇开始介绍字符流。字符输入输出流是所有字符流的超类,学会了它们的方法,也基本上掌握了其子类的使用了。
126 0
|
存储 缓存 Java
【Java I/O 流】文件字符输入输出流:FileReader 和 FileWriter
本篇文章主要讲述“文件字符输入流”和“文件字符输出流”两个类的使用,并列举了一些读写案例,帮助学习。
565 0
|
存储 缓存 Java
【Java I/O 流】字节输入输出流:InputStream & OutputStream
本篇介绍字节输入输出流,它们是所有字节流的超类,提供了一些常用方法,我们一起看一下。
82 0
|
IDE 开发工具
转换流与打印流
编码引出的问题 import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; /* FileReader可以读取IDE默认编码格式(UTF-8)的文件 FileReader读取系统默认编码(