Java之数据流-复制二进制文件

时间:2021-01-25 04:52:13
 package test_demo.fileoper;

 import java.io.*;

 /*
* 数值字节流操作,复制二进制文件
* 输入流:从文件中读取数据,扩展为数据流(二进制)
* 输出流:将数据流数据输出到文件中
* 注意关闭输入输出流
* */
public class DataInOutSteamOper {
public static void main(String args[]) {
FileInputStream fis = null; //输入流
FileOutputStream fos = null; //输出流
//数据流(二进制)
DataInputStream dis = null;
DataOutputStream dos = null; try {
fis = new FileInputStream("C:\\testdata\\filedir\\a.jpg");
fos = new FileOutputStream("C:\\testdata\\filedir\\b.jpg");
dis = new DataInputStream(fis);
dos = new DataOutputStream(fos);
int i = 0; //存放读取的byte数组的长度
//通过输入流读取数据,byte[]有默认值
while ((i = dis.read()) != -1) {
dos.write(i);
}
System.out.println("文件复制成功!");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
//关闭输入输出流
dos.close();
fos.close();
dis.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}