public class CopyVideo { public static void main(String[] args) throws IOException { long startTime=System.currentTimeMillis(); method04(); long endTime=System.currentTimeMillis(); System.out.println("共耗时:"+(endTime-startTime)); } //使用基本字节流一次读一个字节 public static void method01()throws IOException { //读文件,使用FileInputStream,一次读一个字节 FileInputStream fi = new FileInputStream("D:\\itcast\\video.mp4"); //BufferedInputStream bi=new BufferedInputStream(fi); //写文件,使用FileOutputStream,一次写一个字节 FileOutputStream fo = new FileOutputStream("D:\\itcast\\video01.mp4", true); //读文本信息,并写入一次只有一个字节。 int by; while ((by = fi.read()) != -1) { fo.write(by); } //读文本信息,并写入一次只有一个字节数组。 /* byte[] byt=new byte[1024]; int len; while((len=fi.read(byt))!=-1){ fo.write(byt,0,len); }*/ fi.close(); fo.close(); } //使用基本字节流一次读一个字节数组 public static void method02()throws IOException { //读文件,使用FileInputStream,一次读一个字节 FileInputStream fi = new FileInputStream("D:\\itcast\\video.mp4"); //BufferedInputStream bi=new BufferedInputStream(fi); //写文件,使用FileOutputStream,一次写一个字节 FileOutputStream fo = new FileOutputStream("D:\\itcast\\video02.mp4", true); //读文本信息,并写入一次只有一个字节数组。 byte[] byt=new byte[1024]; int len; while ((len=fi.read(byt)) != -1) { fo.write(byt,0,len); } //读文本信息,并写入一次只有一个字节数组。 /* byte[] byt=new byte[1024]; int len; while((len=fi.read(byt))!=-1){ fo.write(byt,0,len); }*/ fi.close(); fo.close(); } //使用字节缓冲流一次读一个字节 public static void method03()throws IOException { //读文件,使用FileInputStream,一次读一个字节 BufferedInputStream fi =new BufferedInputStream(new FileInputStream("D:\\itcast\\video.mp4")); //BufferedInputStream bi=new BufferedInputStream(fi); //写文件,使用FileOutputStream,一次写一个字节 BufferedOutputStream fo = new BufferedOutputStream(new FileOutputStream("D:\\itcast\\video03.mp4", true)); //读文本信息,并写入一次只有一个字节。 int by; while ((by = fi.read()) != -1) { fo.write(by); } //读文本信息,并写入一次只有一个字节数组。 /* byte[] byt=new byte[1024]; int len; while((len=fi.read(byt))!=-1){ fo.write(byt,0,len); }*/ fi.close(); fo.close(); } //使用字节缓冲流一次读一个字节数组 public static void method04()throws IOException { //读文件,使用FileInputStream,一次读一个字节 BufferedInputStream fi =new BufferedInputStream( new FileInputStream("D:\\itcast\\video.mp4")); //BufferedInputStream bi=new BufferedInputStream(fi); //写文件,使用FileOutputStream,一次写一个字节 BufferedOutputStream fo =new BufferedOutputStream( new FileOutputStream("D:\\itcast\\video04.mp4", true)); //读文本信息,并写入一次只有一个字节数组。 byte[] byt=new byte[1024]; int len; while ((len=fi.read(byt)) != -1) { fo.write(byt,0,len); } //读文本信息,并写入一次只有一个字节数组。 /* byte[] byt=new byte[1024]; int len; while((len=fi.read(byt))!=-1){ fo.write(byt,0,len); }*/ fi.close(); fo.close(); } }
用四种字节流方式复制视频,比较性能
最新推荐文章于 2024-06-23 01:02:54 发布