Java代码拷贝文件的速度究竟有多快?

前言

最近学习Java到了流处理,其中有种流叫FileInputStream和FileOutputStream,简单来说,就是操作文件的,老师给我们示范了一个非常有趣的例子,用代码拷贝文件!

一直以来我对代码佩服的五体投地,觉得超级神奇,于是非常好奇Java代码拷贝的速度有多快,做出了以下一个小测试哈哈哈。

补充方法二:其实这个稍作改进,还是挺快的。。。

视频解说

代码

方法一:

package stream;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.io.OutputStream;

/**

* 文件的拷贝

* @author Administrator

*

*/

public class Example04 {

public static void main(String[] args) throws Exception {

//创建一个字节输入流,用于读取source文件夹的文件

InputStream in = new FileInputStream("source\\1.png");

//创建一个字节输出流,用于将读取的数据写入target文件夹的文件

OutputStream out = new FileOutputStream("target\\2.png");

//读数据

int len;

long begintime = System.currentTimeMillis();

while( (len = in.read() )!=-1) {

out.write(len);

}

long endtime = System.currentTimeMillis();

System.out.println("拷贝文件所消耗的时间是: "+(endtime-begintime)+" 毫秒");

//关闭流

in.close();

out.close();

}

}

方法二:

package stream;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.io.OutputStream;

/**

* 文件的拷贝(使用缓冲区拷贝文件)

* @author Administrator

*

*/

public class Example05 {

public static void main(String[] args) throws Exception {

//创建一个字节输入流,读取文件

InputStream in = new FileInputStream("source\\1.png");

//创建一个字节输出流,保存文件

OutputStream out = new FileOutputStream("target\\2.png");

//读数据

byte[] buff = new byte[1024];//定义字节数组,作成缓冲区

int len;//定义int类型的len,记住读取读入缓冲区的字节数

long begintime = System.currentTimeMillis();

while( (len = in.read(buff) ) != -1) {

//写数据

out.write(buff, 0, len);//从第一个字节开始,向文件中写入len个字节

}

long endtime = System.currentTimeMillis();

System.out.println("拷贝文件所消耗的时间是: "+(endtime-begintime)+" 毫秒");

//关闭流

in.close();

out.close();

}

}

java文件复制速度_【Java】Java代码拷贝文件的速度相关推荐

  1. python读取文件特定内容_利用python代码获取文件特定的内容,并保存为文档

    import os.path import re # 1 遍历指定目录,显示目录下的所有文件名 def each_file(file_path): path_dir = os.listdir(file ...

  2. java 对象复制 反射_利用Java反射机制实现对象相同字段的复制操作

    一.如何实现不同类型对象之间的复制问题? 1.为什么会有这个问题? 近来在进行一个项目开发的时候,为了隐藏后端数据库表结构.同时也为了配合给前端一个更友好的API接口文档(swagger API文档) ...

  3. java 对象复制字段_利用Java反射机制实现对象相同字段的复制

    一.如何实现不同类型对象之间的复制问题? 1.为什么会有这个问题? 近来在进行一个项目开发的时候,为了隐藏后端数据库表结构.同时也为了配合给前端一个更友好的API接口文档(swagger API文档) ...

  4. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  5. linux scp 过滤文件夹,linux中使用scp远程拷贝文件及文件夹

    linux中使用scp远程拷贝文件及文件夹 linux scp远程拷贝文件及文件夹,需要的朋友可以参考下 1.拷贝本机/home/wtf/test整个目录至远程主机192.168.100.1的/roo ...

  6. linux系统间拷贝文件,Linux系统下不同机器之间拷贝文件的方法

    在Linux系统下,不同机器上实现文件拷贝 一.将本地文件拷贝到远程机器: scp /home/administrator/news.txt root@192.168.6.129:/etc/squid ...

  7. java中获取文件总行数_关于java:如何以有效的方式获取文件中的行数?

    本问题已经有最佳答案,请猛点这里访问. 我有一个大文件. 它包括大约3.000-20.000行. 如何使用Java获取文件中的行总数? 从你的评论到答案来判断,你要找的词是"有效的" ...

  8. java中 复制到下一行_java代码复制到下一行

    java代码复制到下一行 [2021-02-10 13:04:40]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace("/( ...

  9. java resources目录 编码_关于Java项目读取resources资源文件路径

    在看此篇博客是建议清楚classpath代表的路径,getServletContext().getRealPath("/")的含义,idea中项目编译后的目录格式,resoures ...

最新文章

  1. 免费下载来自阿里巴巴 双11 的《云原生大规模应用落地指南》
  2. python中格式化字符串_Python中所有字符串格式化的指南
  3. Python 第五天
  4. 菜鸟要做架构师——java性能优化之for循环
  5. posix threads php,3分钟短文 | PHP多线程没用过,你可能错过了计算机最好的时代!...
  6. html5 canvas 画直线
  7. 病毒传播数学建模matlab分析,数学建模MATLAB之分析法(一)
  8. 8.Linux性能诊断 --- 浅谈基于数据分析的网络态势感知
  9. 300G的python资料等着你
  10. 第 7 章 Neutron - 072 - 详解 ML2 Core Plugin(II)
  11. 3 基于采样的路径规划 —— RRT算法
  12. JAVA工具类之URL(编码、解码、参数解析)
  13. 低调AI大牛颜水成,挥别360,加盟依图
  14. 乐高叉车wedo教案_15乐高教育wedo编程机器人手臂教案
  15. 内存泄露分析工具linux,Linux下性能分析工具和内存泄露检测工具的简介(Valgrind和gprof)...
  16. 5分钟从零开始搭建一个独立博客网站
  17. 他本硕博连跨3大专业,毕业后没多久被破格聘为985高校教授!
  18. 互联网广告之精准定向
  19. md语法语法_PHP –语法概述
  20. imu相机标定_camera-imu内外参标定

热门文章

  1. java流写入数据库_Java 8:在2分钟内将智能流与数据库一起使用
  2. 字符串url获取参数_如何从URL查询字符串获取示例参数或将其附加到URL查询字符串(示例)?...
  3. Java –从列表中删除所有空值
  4. Hibernate事实:如何“断言” SQL语句计数
  5. php cdi_教程:编写自己的CDI扩展
  6. java命令行参数工具_Java方法中的参数太多,第8部分:工具
  7. 通过OAuth 2.0和Okta构建具有安全的服务器到服务器通信的Spring Boot应用
  8. 控制Java并行流的并行度
  9. 在Java中进行输入验证时用错误通知替换异常
  10. 延迟分析中的案例研究:锁定与同步