3.28作业--IO流

1字符输入输出流FileWriter/FileReader

public static void main(String[] args) throws Exception {
        FileReader fr = new FileReader("D:/java/study/1.txt");
        FileWriter fw = new FileWriter("D:/java/study/2.txt");
        char[] chars = new char[5];
        while (true){
            int r = fr.read(chars);//读 单个字符  或者字符数组
            if (r == -1){
                break;
            } else {
                fw.write(chars);
            }
        }
        fr.close();
        fw.close();
        System.out.println("复制完毕");
    }

2.文件输入输出流FileInputStream/FileOutputStream

 public static void main(String[] args) throws Exception {
        FileInputStream fis = new FileInputStream("D:/java/study/1.mp3");
        FileOutputStream fos = new FileOutputStream("D:/java/study/2.mp3");
        byte[] bytes = new byte[1024];
        long start = System.currentTimeMillis();
        while (true){
            int r = fis.read(bytes);
            if (r == -1){
                break;
            } else {
                fos.write(bytes);
            }
        }
        fis.close();
        fos.close();
        long end = System.currentTimeMillis();
        System.out.println("复制完毕"+"\n耗时"+(end-start)+"毫秒。");
    }

3.字符缓冲流BufferedWriter/BufferedReader

 public static void main(String[] args) throws Exception {
        FileReader fr = new FileReader("D:/java/study/1.txt");
        //创建对象需要建立在节点流的基础之上   第二个参数 设置缓冲区的大小
        BufferedReader br = new BufferedReader(fr,1024);
        FileWriter fw = new FileWriter("D:/java/study/5.txt");
        //创建对象需要建立在节点流的基础之上   第二个参数 设置缓冲区的大小
        BufferedWriter bw = new BufferedWriter(fw,1024);
//        while (true){
//            String s = br.readLine();//读一行
//            if (s == null){
//                break;
//            } else {
//                bw.write(s);
//                bw.newLine();//换行
//            }
//        }
        while (true){
            int r = br.read();
            if (r == -1){
                break;
            } else {
                bw.write(r);
            }
        }
        br.close();//关闭流  释放资源
        bw.close();//关闭流  释放资源
        System.out.println("复制完毕");
    }

4.文件缓冲流BufferedInputStream/BufferedOutputStream

public static void main(String[] args) throws Exception {
        FileInputStream fis = new FileInputStream("D:/java/study/1.mp3");
        BufferedInputStream bis = new BufferedInputStream(fis,2048);
        FileOutputStream fos = new FileOutputStream("D:/java/study/嘟嘟歪嘟嘟.mp3");
        BufferedOutputStream bos = new BufferedOutputStream(fos,2048);
        byte[] bytes = new byte[1024];
        long start = System.currentTimeMillis();
        while(true){
            int r = bis.read(bytes);
            if (r == -1){
                break;
            } else {
                bos.write(bytes);
            }
        }
        bis.close();
        bos.close();
        long end = System.currentTimeMillis();
        System.out.println("复制完毕"+"\n耗时"+(end-start)+"毫秒。");
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值