首页 > 其他分享 >比较实用的复制粘贴工具类

比较实用的复制粘贴工具类

时间:2023-01-03 11:12:41浏览次数:42  
标签:Files Paths log get doc 实用 复制粘贴 File 工具

package com.example.cisum.utils;

import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;

public class FileUtilsDemo {

    public static void main(String[] args) throws IOException {
        //1.JDK自带的文件复制、移动、删除


        //最后参数CopyOption REPLACE_EXISTING 替换原有文件 COPY_ATTRIBUTES 复制文件属性 ATOMIC_MOVE 保证原子性移动(如中间报错,回滚)
//        Files.copy(Paths.get("doc/alarm.log"), Paths.get("doc/alarm1.log"), StandardCopyOption.REPLACE_EXISTING);
        //Files.copy(Paths.get("doc/alarm.log"),Paths.get("doc/alarm1.log"));//源文件和目标文件都是file


        //Files.copy(Files.newInputStream(Paths.get("doc/alarm1.log")),Paths.get("doc/alarm2.log"));//源文件是流,目标文件file
        //java9以上版本。。
//        Files.copy(Paths.get("doc/alarm2.log"),Files.newInputStream(Paths.get("doc/alarm3.log")));//源文件file,目标文件是流
//        Files.copy(Files.newInputStream(Paths.get("doc/alarm3.log")), Files.newInputStream(Paths.get("doc/alarm4.log")))//但没有源文件和目标都是流的,正确写法如下
//        //正确写法  java9以上版本。。
//        try(InputStream inputStream = Files.newInputStream(Paths.get("doc/alarm4.log"));
//            OutputStream out = Files.newOutputStream(Paths.get("/doc/5.log"))) {
//            inputStream.transferTo(Files.newInputStream(out));
//        }
//        Files.move(Paths.get("doc/alarm2.log"),Paths.get("doc/alarm3.log"));//先复制,再删除

//        Files.delete(Paths.get("doc/alarm3.log"));
        //2.commons-io的相关工具方法
        //FileUtils.copyDirectory(new File("doc"),new File("doc2"));//复制文件夹(包含内部文件)
//        FileUtils.copyDirectoryToDirectory(new File("doc"),new File("doc3"));//把doc复制到doc3下
//        FileUtils.copyFileToDirectory(new File("doc/nginx.conf"),new File("doc3"));//把指定文件复制到指定文件夹下
        FileUtils.moveToDirectory(new File("doc/alarm.log"),new File("doc4"),true);//文件移动到文件夹,是否新建目录
        FileUtils.deleteQuietly(new File("doc/alarm.log"));//静默删除,及时中间发生异常,不会报错
        FileUtils.cleanDirectory(new File("doc4"));//清理文件夹里的所有文件
    }
}

 

标签:Files,Paths,log,get,doc,实用,复制粘贴,File,工具
From: https://www.cnblogs.com/charkey/p/17021477.html

相关文章

  • 工具类
    工具类工具类无需创建对象就能使用,可以直接使用类中的属性和方法,一般都声明为静态工具类对外提供的属性和方法都是公共的提供丰富的方法和属性自定义String工具类--......
  • 怎么快速掌握企业财务情况?BI财务分析工具给你支一招
    站在财务的角度看,企业运营管理是以财务管理为中心。财务分析做得好,能直观展现资金的安全、收益和利用效率(周转性),给业务管理决策提供依据。那么,从哪些视角入手可以掌握企业财......
  • 【YOLO学习笔记——数据集】之一YOLO数据集制作1(含LabelImg工具讲解)
    前言一、综述YOLO有自己训练好的数据集,在YOLOv2中,数据集可检测的类别达9000种以上,但是9000毕竟不是全部,它能涵盖大部分的物体识别,但是可能对于某些用户来说是不够的,所以我......
  • 在线流程图工具
    前端项目选型:VUE3TSantv-x6mittaxioselement-plus后端项目选型nacosspring-bootspring-cloudspring-securityoauth2、JWT、JDK工具加解密gatewaymybatis-plusmysqlknife4j......
  • 记一次并发工具类countdownlantch 在线程池中的使用
    首先新建一个 ThreadFactory:packagecn.likui.common.thread.pool;importjava.util.concurrent.ThreadFactory;importjava.util.concurrent.atomic.AtomicInteger......
  • [Grafana监控工具]--安装和部署
    一、参考文档1、安装说明​​http://docs.grafana.org/ ​​2、使用说明​​http://docs.grafana.org/guides/getting_started​​​​http://docs.grafana.org/guides/bas......
  • 【卫朋】智能硬件 | 做好一款电子硬件产品,工具必不可少
    常用工具,大家可先收藏文末有免费彩蛋(8大产品干货资料)虚实结合,打造最强产品人上到战略规划,中至运营策略,下至人性洞察,本号力图为读者呈现一整套的产品落地化打法。最初做产品......
  • 一个精选的模型监控工具列表
    Aporia借助Aporia,数据科学家和ML工程师可以轻松地为他们在生产中运行的ML模型构建监控。特征:构建您自己的监控器:轻松定义监控逻辑。概念漂移和数据完整性检测:针对......
  • 开源引导工具Ventoy 1.0.86 发布
    开源装机工具Ventoy1.0.86正式发布,可使用ISO或者IMG等磁盘镜像格式创建可启动媒体。Ventoy支持在一个U盘上放置多个磁盘镜像,从而可以在一个设备上运行不同版......
  • C# 有什么实用的第三方库吗?
    本文旨在收录一些小众冷门的开源库,像AutoMapper、Autofac、epplus、Hangfire之类的大众都知晓的库,这里就不再推荐了。1.Masuit.Tools首先推荐的的当然是我自家的开源库......