zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java中复制文件的效率测试

2023-09-11 14:20:34 时间

项目中用到了图片的上传,对于上传过程中,图片的复制项目组用了两种方法,一种是以java的IO流,另外一种是用org.apache.commons.io.FileUtils的工具类,今天我测试了一下,单纯考虑文件的复制效率,apache的工具类的效率是普通io流读取的3倍。
下面是测试源码:

public class ImageTest {

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

IOTest();

public static void fileUtilsTest() throws IOException {

// 趋近13毫秒后,就保持这个数值

File srcFile = new File("D:/1.apk");

File destFile = new File("E:/2.apk");

long sum = 0;

for (int i = 0; i i++) {

long startTime = System.currentTimeMillis();

FileUtils.copyFile(srcFile, destFile);

long endTime = System.currentTimeMillis();

sum += (endTime - startTime);

long average = sum / 10;

System.out.println("耗时" + average + "豪秒");

public static void IOTest() throws IOException {

// 50毫秒

File srcFile = new File("D:/1.apk");

File destFile = new File("E:/2.apk");

long sum = 0;

for (int i = 0; i i++) {

long startTime = System.currentTimeMillis();

InputStream is = new FileInputStream(srcFile);

// 把图片写入到上面设置的路径里

OutputStream os = new FileOutputStream(destFile);

byte[] buffer = new byte[400];

int length = 0;

while ((length = is.read(buffer)) 0) {

os.write(buffer, 0, length);

is.close();

os.close();

long endTime = System.currentTimeMillis();

sum += (endTime - startTime);

long average = sum / 10;

System.out.println("耗时" + average + "豪秒");

最新内容请见作者的GitHub页:http://qaseven.github.io/


【Java 微信公众号开发】① 介绍、测试号、接入 微信公众号是开发者或商家在微信公众平台上申请的应用账号。该帐号与 QQ 账号互通,平台上实现和特定群体的文字、图片、语音、视频的全方位沟通、互动 ,形成了一种主流的线上线下微信互动营销方式。 微信公众号是用户在微信公众平台注册的一个账号。账号开通后,可在微信公众号里发视频、图片、文字等推销你的商品或分享生活经验等。 微信公众号类似于一个网站。可作为公司名片、个人名片,可做成商城、互动社区等。管理员可通过微信公众平台发送文章,关注了微信公众号的用户可查看到管理员发送的文章。