【JAVA】-- 文件的拷贝(三种方式)

【JAVA】-- 文件的拷贝(三种方式),第1张

文件的拷贝

文件的拷贝需要通过输入流来读取文件中的数据,通过输出流将数据写入文件。

1、方法一(效率低):

使用示例:

此方法实现的文件拷贝是一个字节一个字节的读写。
import java.io.*;
public class copy_CSDN {
    public static void main(String[] args) throws Exception{
        InputStream in = new FileInputStream("E:\大二\下\JAVA\JAVA课程\111.txt");
        OutputStream out = new FileOutputStream("E:\大二\下\JAVA\JAVA课程\222.txt");
        int len;
        while((len = in.read()) != -1){
            out.write(len);
        }
        in.close();
        out.close();
    }
}

此方法需要频繁的 *** 作文件,效率非常的低。

2、方法二(效率高):

使用示例:

此方法实现的文件拷贝是使用缓冲区拷贝文件
import java.io.*;
public class copy_CSDN {
    public static void main(String[] args) throws Exception{
//        使用缓冲区拷贝文件
        InputStream in = new FileInputStream("E:\大二\下\JAVA\JAVA课程\111.txt");
        OutputStream out = new FileOutputStream("E:\大二\下\JAVA\JAVA课程\222.txt");
        byte[] buff = new byte[1024];//定义一个字节数组,用于缓冲区
        int len;
        while((len = in.read(buff))!= -1){
            out.write(buff,0,len);//从第一个字节开始,向文件写入len个字节
        }
        in.close();
        out.close();
}
}

由于使用缓冲区减少了对文件的 *** 作次数,所以可以提高读写数据的效率。

3、方法三(字节缓冲流)

IO提供两个带缓冲的字节流,分别是BufferedInputStream和BufferedOutputStream

这两个流内部都定义了一个大小为8192的字节数组。

 使用示例:

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class BufferedInputStream_CSDN {
    public static void main(String[] args) throws Exception{
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream("E:\大二\下\JAVA\JAVA课程\111.txt"));
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("E:\大二\下\JAVA\JAVA课程\222.txt"));
        int len;
        while((len = bis.read()) != -1){
            bos.write(len);
        }
        bis.close();
        bos.close();
    }
}

本节内容为文件的拷贝,本节先到这里。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/918747.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-16
下一篇2022-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存