首页 > 编程语言 >Java

Java

时间:2023-08-24 15:44:39浏览次数:42  
标签:file Java target source File new out

https://blog.csdn.net/Eric_splendid/article/details/79898536

 

测试:1.06GB 视频文件,耗时17秒

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;

//原文链接:https://blog.csdn.net/Eric_splendid/article/details/79898536

public class CopyFileUtil {

    public static void main(String[] args) {
        long l = System.currentTimeMillis();
        boolean b = false;
        try {
            b = copyFile("D:\\test\\123.mp4", "D:\\test1\\123.mp4");
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println(b + "------------------");
        System.out.println(System.currentTimeMillis() - l);
    }

    // 复制文件
    public static boolean copyFile(String source, String target) throws Exception {
        source = source.replace("\\", "/");
        target = target.replace("\\", "/");

        File source_file = new File(source);
        File target_file = new File(target);

        FileChannel in = null;
        FileChannel out = null;
        if (!source_file.exists() || !source_file.isFile()) {
            throw new IllegalArgumentException(source_file + "文件不存在!");
        }
        File parent = target_file.getParentFile();
        // 创建目标文件路径文件夹
        if (!parent.exists()) {
            parent.mkdirs();
        }
        // 判断目标文件是否存在
        if (target_file.exists()) {
            target_file.delete();
        }
        // 创建目标文件
        if (!target_file.exists()) {
            target_file.createNewFile();
        }

        FileInputStream inStream = null;
        FileOutputStream outStream = null;
        try {
            inStream = new FileInputStream(source_file);
            outStream = new FileOutputStream(target_file);
            in = inStream.getChannel();
            out = outStream.getChannel();
            in.transferTo(0, in.size(), out);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            inStream.close();
            in.close();
            outStream.close();
            out.close();
        }
        if (!target_file.exists()) {
            return false;
        } else if (source_file.length() != target_file.length()) {
            return false;
        } else {
            return true;
        }
    }
}

 

标签:file,Java,target,source,File,new,out
From: https://www.cnblogs.com/onelikeone/p/17654280.html

相关文章

  • JavaScript基础语法
    一、JavaScript概述1.1、JavaScript可以做什么1.1.1、页面的各种动画效果1.1.2、页面的点击/移入响应1.1.3、对客户端数据进行验证1.1.4、各种页面小游戏1.1.5、用途总结嵌入动态文本于HTML页面。对浏览器事件做出响应(对于用户的操作给予响应)。读写HTML元素。在......
  • Java方法
          递归层数太高时,会占用较大的内存......
  • java裁切NC文件并转成Json
    importcom.alibaba.fastjson.JSONArray;importcom.alibaba.fastjson.JSONObject;importorg.junit.Test;importucar.ma2.Index;importucar.nc2.NetcdfFile;importucar.ma2.Array;importjava.io.FileWriter;importjava.io.IOException;publicclassNetCDF2JS......
  • java实现大文件上传下载
    ​ 我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。这次项目的需求:支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,ie8,ie9,Chrome,Firefox,360安全浏览器,并且刷新浏览器后仍然能够续传,重启浏览器(关闭......
  • Java流程控制
         ......
  • 快手Java一面11问(附参考答案)
    现在已经到了面试招聘比较火热的时候,后续会分享一些面试真题供大家复习参考。准备面试的过程中,一定要多看面经,多自测!今天分享的是一位贵州大学的同学分享的快手一面面经。快手一面主要会问一些基础问题,也就是比较简单且容易准备的常规八股,通常不会问项目。到了二面,会开始问项目,......
  • java bean赋值工具类
    javabean赋值工具类实现接收的bean赋值,判断有没有对应值的get、set方法,有就赋值。publicstatic<T>voidprint(Tbean){Class<?>fromClass=bean.getClass();Method[]toClassMethods=fromClass.getMethods();//遍历to含有的方法for(Methodmethod:toCla......
  • 学习JAVA的第一天:熟悉IDEA结构并新建工程、模块、包、类。
    新建工程、模块、包、类创建模块:新建package包:包的命名也有要求,一般使用公司域名的倒写,如果公司域名是:www.baidu.com,那么包的命名则是:com.baidu.XXXXXX新建类:IDEA快捷输入mainsout编译总结IDEA的结构分为:项目project-模块module-包package-类class。项目proj......
  • idea运行java项目提示异常: java.security.InvalidKeyException: Illegal key size
    idea运行java项目提示异常:java.security.InvalidKeyException:Illegalkeysizenews/2023/8/1715:55:43idea运行java项目提示异常:java.lang.IllegalArgumentException:java.security.InvalidKeyException:Illegalkeysize参考:java.security.InvalidKeyException:I......
  • java实现大文件上传功能
    ​ javaweb上传文件上传文件的jsp中的部分上传文件同样可以使用form表单向后端发请求,也可以使用ajax向后端发请求    1.通过form表单向后端发送请求         <formid="postForm"action="${pageContext.request.contextPath}/UploadServlet"method="post"e......