java 缓存输入输出流练习

这篇博客介绍了如何使用Java的缓存输入输出流进行文件操作,通过实例展示了如何将《再别康桥》的全文写入D盘的word.txt文件,然后读取并输出内容,以此来提升文件I/O效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

缓存输入输出流就是主要对字符和文件的输入和输出流进行包装罢了,可以让文件的输入和输出进行的更快;

练习1:在D盘建立word.txt,将《再别康桥》的全文输入进去,并且再输出出来

public class erkang {
    public static void main(String[] args) {
        File p=new File("D:\\word.txt");//建立文件
        FileWriter et=null;//建立字符输入流
        BufferedWriter ey=null;//建立字符缓冲流
        try {
            et=new FileWriter(p);//对字符输出流进行实例化
            ey=new BufferedWriter(et);//对输出流进行包装
            String str="轻轻的我走了,\n" +
                    "正如我轻轻的来;\n" +
                    "我轻轻的招手,\n" +
                    "作别西天的云彩。\n" +
                    "\n" +
                    "那河畔的金柳,\n" +
                    "是夕阳中的新娘;\n" +
                    "波光里的艳影,\n" +
                    "在我的心头荡漾。\n" +
                    "\n" +
                    "软泥上的青荇,\n" +
                    "油油的在水底招摇;\n" +
                    "在康河的柔波里,\n" +
                    "我甘心做一条水草!\n" +
                    "\n" +
                    "那榆荫下的一潭";
            ey.write(str);
            ey.flush();//刷新强制将缓冲区的文件写入到文件中,即使没有写满
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if(et!=null){
                try {
                    et.close();//关闭输入流
                    ey.close();//关闭缓冲流
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        FileReader eo=null;//建立字符输入流
        BufferedReader ty=null;//建立字符输入缓冲流
        try {
            eo=new FileReader(p);//对字符输出流进行实例化
            ty=new BufferedReader(eo);//对输入流进行包装
           char[]qp=new char[1024];
           int count;
           while ((count=ty.read(qp))!=-1){
               System.out.println(new String(qp,0,count));
           }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if(eo!=null){
                try {
                    eo.close();//如果输出不为空值就关闭输出流
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值