java字节流可以完成二进制文件的操作,也可以完成文本文件的操作。
使用字节流完成文件的拷贝
public static void main(String[] args) {
String srcFilePath = "e:/c1.avi";
String destFilePath = "e:/s1.avi";
//创建BufferedInputStream、BufferedOutputStream对象
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
bis = new BufferedInputStream(new FileInputStream(srcFilePath));
bos = new BufferedOutputStream(new FileOutputStream(destFilePath));
//循环读取写入
byte[] buff = new byte[1024];//字节缓冲
int readLen = 0;
//当返回-1时,表示文件读取完毕。
while ((readLen = bis.read(buff)) != -1){
bos.write(buff,0,readLen);
}
System.out.println("文件拷贝完成...");
} catch (IOException e) {
e.printStackTrace();
} finally {
//关闭流,关闭外层的处理流即可,底层会去关闭节点流。
try {
if(bis != null){
bis.close();
}
if(bos != null){
bos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}