IO流简单的读取文件写入到新的文件下

简单的流读取写入文件

public static void main(String[] args) {
        FileWriter FW = null;//创建写入流
        FileReader FR = null;//创建读取流

        try {
            FW = new FileWriter("D://invite1.html");//写入目标文件,不存在会自动创建
            FR = new FileReader("D://invite.html");//读取目标文件内容

            char[] buf = new char[1024];//定义一个数组接受读取到的内容,长度最好是1024的倍数
            int len = 0;//定义一个长度用来判断是否读取到最后一位,到最后一位返回-1
            while ((len=FR.read(buf))!=-1) {//判断是否读取到最后一位
                FW.write(buf, 0, len);//写入buf数组中的0开始长度为len的内容,可能不满1024只需写入读取到的长度
            }

        } catch (IOException e) {
            e.printStackTrace();  
        }
        finally {//关闭流,关闭流必须抛异常
            if(FW!=null){
                try {
                    FW.close();
                } catch (IOException e) {
                    e.printStackTrace();  
                }
            }
            if(FR!=null){
                try {
                    FW.close();
                } catch (IOException e) {
                    e.printStackTrace();  
                }
            }
        }
    }

为了提高流的效率加入了缓冲流

//写入缓冲流
BufferedWriter bw = new BufferedWriter(FW);//将写的流放入缓冲区
bw.write("写入内容");
//写入后一定要刷新
bw.flush();
bw.close();//关闭缓冲流,其实就是关闭缓冲区中的流对象

//读取缓冲流
BufferedReader br = new BufferedReader(FR);;//将读的流放入缓冲区
br.readLine();//特殊的方法可以一次读取文本文件一行,如果到末尾返回null
br.close();//关闭缓冲流,其实就是关闭缓冲区中的流对象

猜你喜欢

转载自blog.csdn.net/qq_34495753/article/details/79628622