JAVA通过I/O流复制文件
本文是对字节流操作,可以多音频视频文件进行操作,亲测有效。
个人感觉这个东西就是靠记的, 没什么好解释的,,,,
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; public class CopyMove { public static void main(String[] args){ //时间
long starttime = 0;
long finishtime = 0;
Calendar calendar = null; /* String oldPath = "D:/test/gktgd.mp4";
String newPath = "D:/test/new4.mp4";*/
String oldPath = "D:/test/fff.flv";
String newPath = "D:/test/ff.flv"; File oldFile = new File(oldPath);
File newFile = new File(newPath);
//若文件不存在则创建
if(!newFile.exists()){
try {
newFile.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} FileInputStream fIS = null;
FileOutputStream fOS = null; //声明用于传递字节的byte 数组大小要是2的整数倍
byte[] ttStream = new byte[4096]; int len = 0; try {
fIS = new FileInputStream(oldFile);
fOS = new FileOutputStream(newFile); //获取开始时间
starttime = System.currentTimeMillis(); System.out.println(starttime);
len = fIS.read(ttStream);
//若len为-1 证明读取完,若不为-1 则为读取的字节数
while((len)!=-1){
//将读出的字节写入文件中
fOS.write(ttStream, 0, len);
//再次读取
len=fIS.read(ttStream);
}
//获得结束时间
finishtime = System.currentTimeMillis();
System.out.println(finishtime);
System.out.println("时间间隔为:" +(finishtime-starttime));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
//按照先使用后关闭的原则关闭
fOS.close();
fIS.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}