Java学习22 2020-03-01

内容

1.BufferedReader
2.BufferedWriter
3.使用BufferedReader和BufferedWriter完成文件复制

一.BufferedReader

1.注意

和BufferedWriter一样,BufferedReader是一个包装流

2.使用示例
import java.io.*;


public class 测试程序 {                                                                                                             

    
                                                                                                                                
    public static void main(String[] args) throws Exception {
    
        //1.创建一个带有缓冲区的字符输入流
        //①创建一个文件字符输入流
        FileReader fr = new FileReader("temp01");
        //②将文件字符输入流包装成带有缓冲区的字符输入流
        BufferedReader br = new BufferedReader(fr);
        
        //根据流出现的位置,流又可以分为:包装流或者处理流  和节点流
        //FileReader fr是一个节点流
        //BufferedReader br 是一个包装流,或者处理流
        
        //2.开始读
        String temp = null;
        while((temp = br.readLine()) != null) {//这个方法能读取一行,没有了就返回null
            System.out.println(temp);//输出一行
        }
        
        //3.关闭
        //注意,关闭的时候只需要关闭最外层的包装流(这里有一个装饰者模式)
        br.close();
        
    }
}
3.字节输入流转换成BufferedReader
import java.io.*;


public class 测试程序 {                                                                                                             

    
                                                                                                                                
    public static void main(String[] args) throws Exception {
    
        //1.创建文件字节输入流
        FileInputStream fis = new FileInputStream("temp01");
        
        //2.使用转换流将字节流转换成字符流
        InputStreamReader isr = new InputStreamReader(fis);
        
        //3.创建带有缓冲区的字符输入流
        BufferedReader br = new BufferedReader(isr);
        
        //4.开始读
        String temp = null;
        while((temp = br.readLine()) != null) {
            System.out.println(temp);
        }
        
        //5.关闭,关闭最外层的流即可(装饰者模式)
        br.close();
    
        
    }
}
4.使用BufferedReader接收用户键盘输入
package 对象;

import java.io.*;
import java.util.*;

public class 测试程序 {                                                                                                             

    
                                                                                                                                
    public static void main(String[] args) throws Exception {
    
    /*  //1.以前的方式
        Scanner s = new Scanner(System.in);//System.in是一个标准的输入流,默认接收键盘的输入
        
        //2.程序执行到此处停下来,等待用户的输入
        String str = s.next();
        
        System.out.println("您输入了:"+str);
    */
        //1.使用BufferedReader用来接收用户的输入
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        //2.接收输入(每一次都接收一行)
        String str = br.readLine();
        
        System.out.println("您输入了:" +str);
        
        //3.关闭
        br.close();
        
    }
}

二.BufferedWriter

1.注意

类比BufferedReader,特别注意如何创建

2.使用示例
package 对象;

import java.io.*;
import java.util.*;

public class 测试程序 {                                                                                                             

    
                                                                                                                                
    public static void main(String[] args) throws Exception {
   
        //1.创建带有缓冲区的字符输出流
        BufferedWriter bw = new BufferedWriter(new FileWriter("temp02"));
        //或者写成
        BufferedWriter bw1 = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("temp 03",true)));
        
        //2.开始写
        bw.write("我");
        
        //3.写入一个行分隔符
        bw.newLine();
        
        bw.write("是中国人");
        
        //4.刷新
        bw.flush();
        
        //5.关闭
        bw.close();
        
        
    }
}

结果是这样的

三.使用BufferedReader和BufferedWriter完成文件复制

注意换行符的使用:加在循环里。

package 对象;

import java.io.*;
import java.util.*;

public class 测试程序 {                                                                                                             

    /*
     * 使用BufferedReader和BufferedWriter完成复制
     */
                                                                                                                                
    public static void main(String[] args) throws Exception {
   
        BufferedReader br = new BufferedReader(new FileReader("temp02"));
        BufferedWriter bw = new BufferedWriter(new FileWriter("temp04"));
        
        String temp = null;
        while((temp = br.readLine()) != null) {
            bw.write(temp);
            bw.newLine();
        }
        
        bw.flush();
        br.close();
        bw.close();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值