这里有新鲜出炉的Java函数式编程,程序狗速度看过来!
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。
这篇文章主要介绍了Java输入输出流复制文件所用时间对比的相关资料,非常不错,具有参考解决价值,需要的朋友可以参考下
废话不多说,关键代码如下所述:
- package com.edu.xynu;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- public class IOUnitCopy {
- //按字节
- public static void copyByByte(File srcFile, File destFile) throws IOException {
- FileInputStream fis = new FileInputStream(srcFile);
- FileOutputStream fos = new FileOutputStream(destFile);
- int i;
- while ((i = fis.read()) != -1) {
- fos.write(i);
- }
- fis.close();
- fos.close();
- }
- //按字节数组
- public static void copyByByteArray(File srcFile, File destFile) throws IOException {
- FileInputStream fis = new FileInputStream(srcFile);
- FileOutputStream fos = new FileOutputStream(destFile);
- byte[] buf = new byte[10 * 1024];
- int i;
- while ((i = fis.read(buf, 0, buf.length)) != -1) {
- fos.write(buf, 0, i);
- }
- fis.close();
- fos.close();
- }
- //字节缓冲流
- public static void copyByBuff(File srcFile, File destFile) throws IOException {
- BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));
- BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile));
- int i;
- while ((i = bis.read()) != -1) {
- bos.write(i);
- }
- bos.flush();
- bis.close();
- bos.close();
- }
- //字节数组批量读取 缓冲输出流写入
- public static void copyByBuffArray(File srcFile, File destFile) throws IOException {
- FileInputStream bis = new FileInputStream(srcFile);
- BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile));
- byte[] buf = new byte[10 * 1024];
- int len;
- while ((len = bis.read(buf, 0, buf.length)) != -1) {
- bos.write(buf, 0, len);
- }
- bos.flush();
- bis.close();
- bos.close();
- }
- }
- package com.edu.xynu;
- import java.io.File;
- import java.io.IOException;
- public class IOUnitsCopyTest {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- try {
- long start = System.currentTimeMillis();
- // IOUnitCopy.copyByByte(new File("c:\\1.mp3"), new File(
- // "c:\\2.mp3"));//90713ms
- // IOUnitCopy.copyByByteArray(new File("c:\\1.mp3"), new File(
- // "c:\\3.mp3"));//41ms
- // IOUnitCopy.copyByBuff(new File("c:\\1.mp3"), new File(
- // "c:\\4.mp3"));//556ms
- // IOUnitCopy.copyByByteArray(new File("c:\\1.mp3"), new File(
- // "c:\\5.mp3"));//30ms
- long end = System.currentTimeMillis();
- System.out.println(end - start);
- } catch(IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
测试文件是
来源: http://www.phperz.com/article/17/1122/360278.html