打印流特性

1 打印流

  • PrintStream
  • PrintWriter

1.1 打印流特点

  • 此流不负责数据源,只负责数据目的;
  • 为其他输出流添加了功能;
  • 永远不会抛出IOException,但是可能抛出其他异常;
  • 两个打印流方法完全一致;

1.2 两个流的构造方法有区别

构造方法,就是打印流的输出目的端。
- PrintStream,构造方法,接收File类型,接收字符串文件名,接收字节输出流OutputStream
- PrintWriter,构造方法,接收File类型,接收字符串文件名,接收字节输出流,接收字符输出流Writer

1.3 打印流输出目的是File对象

  • 打印流,向File对象的数据目的写入数据;
  • 方法print,println,原样输出;

1.4 打印流输出目的是 String 文件名

 public static void function_1() throws FileNotFoundException {
        PrintWriter pw=new PrintWriter("h:\\test\\2.txt");
        pw.print(3.5);
        pw.close();
    }

1.5 打印流输出目的是流对象

  • 可以是字节输出流,可以是字符的输出流;
  • OutputStreamWriter
public static void function_2() throws IOException {
        FileOutputStream fos = new FileOutputStream("h:\\test\\3.txt");
        //FileWriter fw=new FileWriter("h:\\test\\4.txt");
        PrintWriter pw = new PrintWriter(fos);
        pw.println("打印流");
        pw.flush();
        pw.close();
    }

1.6 打印流可以开启自动刷新功能

满足2个条件:
1. 输出数据目的必须是流对象,OutputStream,Writer;
2. 必须调用println,printf,format三个方法中的一个;

 public static void function_3() throws FileNotFoundException {
        FileOutputStream fos = new FileOutputStream("h:\\test\\5.txt");
        PrintWriter pw = new PrintWriter(fos,true);
        pw.println("i");
        pw.println("guess");
        pw.println("right");
        pw.close();
    }

1.7 打印流复制文本

  • 读取数据源BufferedReader+File 读取文本行;
  • 写入数据目的PrintWriter+println 自动刷新;
public static void main(String[] args) throws IOException {
        BufferedReader bfr=new BufferedReader(new FileReader("h:\\test\\a.txt"));
        PrintWriter pw=new PrintWriter(new FileWriter("f:\\a.txt"),true);
        String line =null;
        while((line=bfr.readLine())!=null){
            pw.println(line);
        }
        pw.close();
        bfr.close();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值