Java之文件复制的简单介绍
各位小伙伴们大家好,在之前的文章中,小编介绍了Java之字节输入流一次读取一个字节与多个字节,这次小编要介绍Java当中的文件复制。
原理如下图:
文件复制:一读一写
如果要把文件复制到c盘,需要通过内存对文件进行读取和写入,文件复制的时候,需要明确数据源(就是要复制那个文件),数据的目的地(将文件复制到哪里?)
文件复制的步骤如下:
创建一个文件输入流对象,构建方法中绑定要读取的数据源创建一个字节输出流对象,构建方法中绑定要写入的目的地使用字节输入流对象中的方法read读取文件使用字节输出流中的方法write,把读取到的字节写入到目的地文件中释放资源
代码如下:
public class Demo01CopyFile {
public static void main(String[] args) throws IOException {
//1.创建一个字节输入流对象,构造方法中绑定要读取的数据源
FileInputStream fis = new FileInputStream("C:1.png");
//2.创建一个字节输出流对象,构造方法中绑定要写入的目的地
FileOutputStream fos = new FileOutputStream("D:1.png");
//一次读取一个字节写入一个字节方式
//3.使用字节输入流对象中的方法read读取文件
int len = 0;
while ((len = fis.read()) != -1) {
//4.使用字节输出流中的方法write,把读取到的字节写入到目的地的文件
fos.write(len);
}
//5.释放资源(先关写的,后关闭读的)
fos.close();
fis.close();
}
}
也可以使用数组缓冲读取多个字节,写入多个字节,代码如下:
byte[] bytes=new byte[1024];
//3.使用数组缓冲读取多个字节,写入多个字节
int len=0;//每次读取的有效字节个数
while((len=fis.read(byte))!=-1){
//4.使用字节输出流中的方法write,把读取到的字节写入到目的地的文件中
fos.write(bytes,0,len);
关于文件复制,小编就先说到这里,希望这篇文章可以帮到大家,也欢迎各位小伙伴们补充和纠错。