生活中我们经常会用到复制粘贴,比如把一张图片、一首歌或者一个视频从一个文件夹里复制粘贴到另一个文件夹,操作起来很方便。那么我们如何用代码来实现这个过程呢?其实也不难,这里就用到了我们IO流里面的利用DataInputStream和DataOutputStream来读写二进制文件。下面我们用代码来实现这个过程。
1、使用字节流读二进制文件
利用DataInputStream类读二进制文件也要用到FileInputStream类来关联二进制文件,具体操作步骤如下:
//1、引入相关的类
import.java.io.FileInputStream;
import.java.io.DataInputStream;
//2、构造一个数据输入流对象
FileInputStream fis=new FileInputStream("path")//path为原文件的路径名
DataInputStream dis=new DataInputStream(fis);
//3、利用数据输入流类的方法读取二进制文件中的数据
byte[] b=new byte[fis.available()];
dis.write(b);
//4、关闭流
dis.close();
fis.close();
2、使用字节流写二进制文件
//1、引入相关的类
import.java.io.FileOutputStream;
import.java.io.DataOutputStream;
//2、构造一个数据输入流对象
FileOutputStream fos=new FileOutputStream("path")//path为新的路径名
DataOutputStream dos=new DataOutputStream(fos);
//3、利用数据输出流类的方法把数据写进二进制文件
dos.write(b);
//4、关闭流
dos.close();
fos.close();
这样我们就完成了二进制文件的复制粘贴过程。
public class TestData {
public static void copy(String from,String to,boolean isAppend) throws IOException {
FileInputStream fis=new FileInputStream(from);
FileOutputStream fos=new FileOutputStream(to);
DataInputStream dis=new DataInputStream(fis);
DataOutputStream dos=new DataOutputStream(fos);
byte[] b=new byte[fis.available()];
dis.read(b);
dos.write(b);
dos.close();
dis.close();
fos.close();
fis.close();
}
public static void main(String[] args) throws IOException {
copy("C:\\Users\\djy\\Desktop\\ss.jpg","jt.jpg",false);
}
}