JAVA IO -打印流 PrintStream +PrintWriter

JAVA IO -打印流 PrintStream +PrintWriter,第1张

JAVA IO -打印流 PrintStream +PrintWriter 1.认识两个打印流

两个打印流 PrintStream 和PrintWriter。
顾名思义,打印流,就是专门用来输出内容的;
所以,打印流只有输出流,而没有输入流。

1.1 PrintStream

字节打印流:可以包装一个 OutputStream、File对象 或者 文件路径。

1.2 PrintWriter

字符打印流:可以包装一个 OutputStream、Writer、File或者文件路径。
【构造方法中带有 布尔类型 的参数,true 表示 println、printf、format 方法 会自动刷新缓存】
但个人不建议这样使用,使用字节流时,还是在最后手动close(),执行真正的写入 *** 作吧。

2.PrintStream使用案例 2.1 标准的输出流 System.out

标准的输出流 System.out 就是一个字节打印流。
可以使用 write() 方法;
也可以使用 print() 方法。

package com.northcastle.outputStream_;

import java.io.IOException;
import java.io.PrintStream;


public class ApplicationPrintStream {
    public static void main(String[] args) throws IOException {
        PrintStream out = System.out; // System.out 就是一个自己打印流
        out.print(100);
        out.println("hello,我是字节打印流 PrintStream "); // println() 方法就是调用了write方法
        out.write("大家好".getBytes());
        out.close();
    }
}

运行结果如下:正常打印程序中的内容

2.2 包装OutputStream对象

下面的代码,直接使用 throws 的方式抛出了异常,可以方便阅读整体的流程。
【不过各位读者可以根据自己的实际情况选择性的使用 try-catch 来捕获和处理异常】

package com.northcastle.outputStream_;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;


public class ApplicationPrintStream {
    public static void main(String[] args) throws IOException {
    
         //1.声明一个文件路径
         String filePath = "D:\EDailyRoutine\java-io-test\PrintStream02.data";
         //2.实例化一个 FileOutputStream 对象
         FileOutputStream fos = new FileOutputStream(filePath);
         //3.包装 OutputStream 对象,实例化一个 PrintStream 对象
         PrintStream printStream = new PrintStream(fos);
         //4.开始输出内容
         printStream.write("我是printStram对象,哈哈哈".getBytes());
         printStream.println();
         printStream.println("使用println方法打印内容");
         //5.关闭流
         printStream.close();
    }
}

运行结果:内容输出正常

3.PrintStream使用案例

注意 : 使用字节打印流时,建议在最后都要执行一边 close() 方法,将写出的内容真正写入到文件中。

3.1 直接指定文件路径打印输出
package com.northcastle.writer_;

import java.io.FileNotFoundException;
import java.io.PrintWriter;


public class ApplicationPrintWriter {
    public static void main(String[] args) throws FileNotFoundException {

        String filePath = "D:\EDailyRoutine\java-io-test\PrintWriter01.data";
        PrintWriter printWriter = new PrintWriter(filePath);
        printWriter.println("我来使用一下【PrinterWriter对象】这个打印流到文件");
        printWriter.write("我是write方法来写的");
        printWriter.close(); // 必须是在关闭流的时候,才能真正将内容写入到文件中
    }
}

运行结果:内容正常输出

3.2 包装OutputStream对象打印输出
package com.northcastle.writer_;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintWriter;


public class ApplicationPrintWriter {
    public static void main(String[] args) throws FileNotFoundException {
     
        
        String filePath02 = "D:\EDailyRoutine\java-io-test\PrintWriter02.data";
        FileOutputStream fos = new FileOutputStream(filePath02);
        PrintWriter printWriter1 = new PrintWriter(fos);
        printWriter1.println("包装一个 OutputStream 对象进行输出");
        printWriter1.write("hello 哈哈哈");
        printWriter1.close();// 必须是在关闭流的时候,才能真正将内容写入到文件中
    }
}


运行结果:内容正常输出

3.3 包装Writer对象打印输出
package com.northcastle.writer_;

import java.io.*;


public class ApplicationPrintWriter {
    public static void main(String[] args) throws IOException {

        

        String filePath03 = "D:\EDailyRoutine\java-io-test\PrintWriter03.data";
        FileWriter fw = new FileWriter(filePath03);
        PrintWriter printWriter2 = new PrintWriter(fw);
        printWriter2.println("包装一个 Writer 对象进行输出");
        printWriter2.write("欢迎来到 PrintWriter 打印流");
        printWriter2.close();// 必须是在关闭流的时候,才能真正将内容写入到文件中

    }
}

运行结果:内容正常输出

4.完成

Congratulations!
You are one step closer to success!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5709272.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存