java文件读写,复制文件的8种方式&&字符流与字节流简介

本文介绍了Java中文件复制的8种方式,分别通过字节流和字符流实现,详细讲解了字节流与字符流的区别。在处理不同编码格式的文件时,字符流能有效避免乱码问题。文章提供了实例演示了各种方式的使用,以帮助理解这两种流的特性和应用场景。
摘要由CSDN通过智能技术生成

简述:

好久没用Java了,今天上课被问到这些,然后做了些整理:分享一下。
要将文件E盘中一个pdf文件复制到D盘中,E:\计算机组成原理第2版-唐朔飞(稍微清楚点).pdf,D:/copytest.pdf

文件复制的四种方式(字节流):

主函数:

import java.io.*;

public class IOStreamDemo {
   
    public static void main(String[] args) throws IOException {
   
        long start=System.currentTimeMillis();//当前时间
//        copy1("E:\\计算机组成原理第2版-唐朔飞(稍微清楚点).pdf","D:/copytest.pdf");//耗时108956ms
//        copy2("E:\\计算机组成原理第2版-唐朔飞(稍微清楚点).pdf","D:/copytest.pdf");//耗时121ms
//        copy3("E:\\计算机组成原理第2版-唐朔飞(稍微清楚点).pdf","D:/copytest.pdf");//耗时418ms
//        copy4("E:\\计算机组成原理第2版-唐朔飞(稍微清楚点).pdf","D:/copytest.pdf");//耗时33ms
//         copy5("E:\\计算机组成原理第2版-唐朔飞(稍微清楚点).pdf","D:/copytest.pdf");
//        copy6("E:\\计算机组成原理第2版-唐朔飞(稍微清楚点).pdf","D:/copytest.pdf");
//        copy7("E:\\计算机组成原理第2版-唐朔飞(稍微清楚点).pdf","D:/copytest.pdf");
        copy8("E:\\计算机组成原理第2版-唐朔飞(稍微清楚点).pdf","D:/copytest.pdf");
        long end=System.currentTimeMillis();//结束时间
        System.out.println("耗时"+(end-start)+"ms");
    }

方式一、使用字节流,逐个读写

/*
  * 字节流,逐个字节读写
  * */
    private static void copy1(String sourse,String dest){
   
        try {
   
            FileInputStream fis=new FileInputStream(sourse);//创建文件输入流对象
            FileOutputStream fos=new FileOutputStream(dest);//创建文件输出流对象
            int ch;
            while((ch=fis.read())!=-1)//fis.read()从流中读取一个字节
                fos.write(ch);//将b转成字节数据,写入输出流
            fis.close();//关闭流,释放资源
            fos.close();//关闭流,释放资源
        } catch (FileNotFoundException e) {
   
            e.printStackTrace();
        } catch (IOException e) {
   
            e.printStackTrace();
        }

    }

方式二、使用字节流,按字节数组读写

*//*
     * 字节流,以字节数组的方式读写
     * 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值