温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何用代码拷贝一个文件到另一个目录下

发布时间:2021-10-14 09:40:22 来源:亿速云 阅读:125 作者:iii 栏目:编程语言

这篇文章主要介绍“如何用代码拷贝一个文件到另一个目录下”,在日常操作中,相信很多人在如何用代码拷贝一个文件到另一个目录下问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用代码拷贝一个文件到另一个目录下”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    public Map<String, String> imageUpload(String path, String sensorNo,String presetNo, String channelNo) 
        Map<String, String> map = new HashMap<>();
        // 读取图片
        File fileImage = new File(path); // E:\picture\1\20210409\66666.png
        FileInputStream fis = null;
        try {
            fis = new FileInputStream(fileImage);// 建立一个输入流对象
        } catch (FileNotFoundException e1) {
            log.error("read file error{}", e1);
        }
        String fileDocment = null; // 写入路径
        if (System.getProperty("os.name").toLowerCase().contains("windows")) {
            
            BaseSysconfig baseSysconfig     = baseSysconfigRepository.findByParamCode("ElectronicfenceW");
            fileDocment = baseSysconfig.getCurrentlyValue() + File.separator + "zhqb_electronicfence"
                    + File.separator + sensorNo.replace(" ", "") + File.separator
                    + presetNo.replace(" ", "") + File.separator
                    + channelNo.replace(" ", "");
        } else {
            // 拼接上传路径 /datacenter/zhqb_electronicfence/摄像头编号/预置位编号/通道编号/图片名
            BaseSysconfig baseSysconfig     = baseSysconfigRepository.findByParamCode("ElectronicfenceL");
            fileDocment = baseSysconfig+ File.separator
                    + sensorNo.replace(" ", "") + File.separator
                    + presetNo.replace(" ", "") + File.separator
                    + channelNo.replace(" ", "");
        }

        String filepath = fileDocment + File.separator + fileImage.getName();
        // 写入路径
        File fileParent = new File(fileDocment);// 新建文件目录
        if (!fileParent.exists()) {// 不存在则创建路径
            fileParent.mkdirs();
        }
        File fileElectronicFence = new File(filepath);  //filePath 要写的目录
        FileOutputStream fos = null;
        if (!fileElectronicFence.exists()) {
            try {
                fileElectronicFence.createNewFile();
                fos = new FileOutputStream(filepath);
                byte[] buf = new byte[1024];// 每次读入文件数据量
                int len = -1;
                while ((len = (fis.read(buf))) != -1) {
                    fos.write(buf);
                    fos.flush();
                }
            } catch (IOException e) {
                log.error("create file error{}", e);
            } finally {

                try {
                    fos.flush();
                    fos.close();
                    fis.close();
                } catch (IOException e) {
                    log.error("close OutputStream fail{}", e);
                }
            }
        }
        map.put("status", "sucess");
        map.put("path", filepath);
        return map;
    }

到此,关于“如何用代码拷贝一个文件到另一个目录下”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI