使用Java复制某一路径下的所有sql文件到另一目录下

2023-10-26

package com.zyx.test;

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

/**
 * @ClassName: CopyFileToPath 复制某一路径下的所有sql文件到另一目录下
 * @Description:
 * @Author zyx
 * @Date:Create: 2021/12/29  16:46
 */
public class CopyFileToPath {
    static String sqlFile =".sql";
    static String fileName = "autoRun.sql";
    static String orgPath = "C:\\Users\\zyx\\Desktop\\sql";
    static String desPpath = "D:\oracle\\product_patch";
    public static void main(String[] args) throws IOException {
        getFiles(orgPath,desPpath);
    }


    public static void getFiles(String orgPath,String desPpath) throws IOException {
        File file = new File(orgPath);
// 如果这个路径是文件夹
        if (file.isDirectory()) {
// 获取路径下的所有文件
            File[] files = file.listFiles();
            for (int i = 0; i < files.length; i++) {
// 如果还是文件夹 递归获取里面的文件 文件夹
                if (files[i].isDirectory()) {
                    getFiles(files[i].getPath(),desPpath);

                } else {
                    String name = files[i].getName();
                    if(!name.endsWith(sqlFile) ||fileName.equals(name)){
                        continue;
                    }
                    String pathName = desPpath + "\\" + name;
                    File desFile = new File(pathName);
                    if(desFile.exists()){
                        desFile.delete();
                    }
                    usingFileChannelsCopyFile(files[i],desFile);
                    System.out.println(name+"复制完成");
                }
            }

        } else {
            String name = file.getName();
            if (name.endsWith(sqlFile)) {
                String pathName = desPpath + "\\" + name;
                File desFile = new File(pathName);
                if(desFile.exists()){
                    desFile.delete();
                }
                usingFileChannelsCopyFile(file,desFile);
            }

        }
    }

    public static void usingFileChannelsCopyFile(File source, File dest) throws IOException {
                FileChannel inputChannel = null;
                FileChannel outputChannel = null;
              try {
                     inputChannel = new FileInputStream(source).getChannel();
                    outputChannel = new FileOutputStream(dest).getChannel();
                     outputChannel.transferFrom(inputChannel, 0, inputChannel.size());
                } finally {
                    inputChannel.close();
                     outputChannel.close();
                 }
         }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Java复制某一路径下的所有sql文件到另一目录下 的相关文章

  • 如何克服原语按值传递的事实

    我有一段很长的代码来计算两个值 doubles 对我来说 我在几个地方使用了这段代码 为了坚持 DRY 原则 我应该将这段代码重构为一个很好的单元测试方法 但是我不能让它返回两个双精度数 而双精度数是原始的 因此不能按值传递和操作 我能想到
  • Java中字符串中特殊字符的替换

    Java中如何替换字符串 E g String a adf sdf 如何替换和避免特殊字符 您可以删除除此之外的所有字符可打印的 ASCII 范围 http en wikipedia org wiki ASCII ASCII printab
  • SAML 服务提供商 Spring Security

    当使用预先配置的服务提供者元数据时 在 Spring Security 中 是否应该有 2 个用于扩展元数据委托的 bean 定义 一份用于 IDP 元数据 一份用于 SP 元数据
  • OpenCV 中的 Gabor 内核参数

    我必须在我的应用程序中使用 Gabor 过滤器 但我不知道这个 OpenCV 方法参数值 我想对虹膜进行编码 启动 Gabor 过滤器并获取特征 我想对 12 组 Gabor 参数值执行此操作 然后我想计算 Hamming Dystans
  • java中如何连接字符串

    这是我的字符串连接代码 StringSecret java public class StringSecret public static void main String args String s new String abc s co
  • 使用 AES SecretKey 的 Java KeyStore setEntry()

    我目前正在 Java 中开发一个密钥处理类 特别是使用 KeyStore 我正在尝试使用 AES 实例生成 SecretKey 然后使用 setEntry 方法将其放入 KeyStore 中 我已经包含了代码的相关部分 The KS Obj
  • 匿名类上的 NotSerializedException

    我有一个用于过滤项目的界面 public interface KeyValFilter extends Serializable public static final long serialVersionUID 7069537470113
  • 在 Netbeans 8 上配置 JBoss EAP 的问题

    我已经下载了 JBoss EAP 7 并正在 Netbeans 8 上配置它 我已经到达向导 实例属性 其中要求从选择框中选择 域 当我打开选择框时 它是空的 没有什么可以选择的 因此 完成 按钮也处于非活动状态 这使得无法完成配置 我通过
  • Calendar.getInstance(TimeZone.getTimeZone("UTC")) 不返回 UTC 时间

    我对得到的结果真的很困惑Calendar getInstance TimeZone getTimeZone UTC 方法调用 它返回 IST 时间 这是我使用的代码 Calendar cal Two Calendar getInstance
  • Java 8 流 - 合并共享相同 ID 的对象集合

    我有一系列发票 class Invoice int month BigDecimal amount 我想合并这些发票 这样我每个月都会收到一张发票 金额是本月发票金额的总和 例如 invoice 1 month 1 amount 1000
  • 如何在selenium服务器上提供自定义功能?

    我知道可以通过某种方法获得一些硒功能 其中之一如下 driver getCapabilities getBrowserName 它返回浏览器名称的值 但如果它指的是一个可用的方法 如果我没有误解的话 这似乎与自定义功能有关 就像我的意思是
  • Javafx过滤表视图

    我正在尝试使用文本字段来过滤表视图 我想要一个文本字段 txtSearch 来搜索 nhs 号码 名字 姓氏 和 分类类别 我尝试过在线实施各种解决方案 但没有运气 我对这一切仍然很陌生 所以如果问得不好 我深表歉意 任何帮助将不胜感激 我
  • Java整数双除法混淆[重复]

    这个问题在这里已经有答案了 方案1 int sum 30 double avg sum 4 result is 7 0 not 7 5 VS 方案2 int sum 30 double avg sum 4 0 Prints lns 7 5
  • Jersey 客户端请求中未设置 Content-Length-Header

    我正在使用 Jersey Client 访问网络服务 如下所示 response r accept MediaType TEXT PLAIN TYPE header content length 0 post String class 其中
  • 在 Spring 中重构这个的最佳方法?

    private final ExecutorService executorParsers Executors newFixedThreadPool 10 public void parse List
  • java.lang.NumberFormatException: Invalid int: "3546504756",这个错误是什么意思?

    我正在创建一个 Android 应用程序 并且正在从文本文件中读取一些坐标 我在用着Integer parseInt xCoordinateStringFromFile 将 X 坐标转换为整数 Y 坐标的转换方法相同 当我运行该应用程序时
  • Cucumber Java 与 Spring Boot 集成 - Spring @Autowired 抛出 NullPointer 异常

    我正在为 Spring boot 应用程序编写 cucumber java 单元测试来测试每个功能 当我与 Spring Boot 集成时 Autowired 类抛出 NullPointer 异常 Spring Boot应用程序类 Spri
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • FileOutputStream.close() 中的设备 ioctl 不合适

    我有一些代码可以使用以下命令将一些首选项保存到文件中FileOutputStream 这是我已经写了一千遍的标准代码 FileOutputStream out new FileOutputStream file try BufferedOu
  • 在 RESTful Web 服务中实现注销

    我正在开发一个需要注销服务的移动应用程序 登录服务是通过数据库验证来完成的 现在我陷入了注销状态 退一步 您没有提供有关如何在应用程序中执行身份验证的详细信息 并且很难猜测您在做什么 但是 需要注意的是 在 REST 应用程序中 不能有会话

随机推荐

  • c++之静态函数和静态方法

    1 对象与对象之间要共享数据 则需要使用静态成员或静态方法 2 在类中声明静态成员变量 即使不实例化对象 也可以我静态成员变量分配空间 因为静态成员变量在对象创建之前就已经被分配了内存空间 3 静态成员虽在类中 但它并不是随对象的建立而分配
  • [网络安全提高篇] 一一二.DataCon Coremail邮件安全竞赛之钓鱼邮件识别及分类

    这是作者2020年参加清华大学 Coremail 奇安信DataCon举办的比赛 主要是关于钓鱼和异常邮件识别研究 非常感谢举办方让我们学到了新知识 DataCon也是我比较喜欢和推荐的大数据安全比赛 这篇文章2020年10月就进了我的草稿
  • C#获取windows下用于标志当前电脑的唯一性编号

    最近做的项目 有个需求需要软件注册激活后才能使用 激活这种事情么 从来没做过 网上找找大多数说法都是绑定PC机器的物理硬件 推荐用SmBIOS的UUID 获取不到的情况下再用其它硬件序列号组合 但找了一圈没找到现成的C 代码获取相关ID的文
  • CSRF攻击与防御(写得非常好)

    转载地址 http www phpddt com reprint csrf html CSRF概念 CSRF跨站点请求伪造 Cross Site Request Forgery 跟XSS攻击一样 存在巨大的危害性 你可以这样来理解 攻击者盗
  • LR(1)分析法

    目录 1 LR 1 分析表和LR 1 文法 2 SLR冲突消解存在的问题 1 LR 1 和SLR 1 分析表构造方法的对比 2 SLR冲突消解存在的问题 3 LR K 项目 4 有效项目 5 构造LR 1 分析表的方法 6 例题分析 1 L
  • Python爱心程序(怦然心动)

    import random from math import sin cos pi log from tkinter import CANVAS WIDTH 640 画布的宽 CANVAS HEIGHT 640 画布的高 CANVAS CE
  • 硬件基础——数字电路门电路

    门电路与D触发器 一 与门 1 基本定义 与门又称 与电路 逻辑 积 逻辑 与 电路 是执行 与 运算的基本逻辑门电路 有多个输入端 一个输出端 当所有的输入同时为高电平 逻辑1 时 输出才为高电平 否则输出为低电平 逻辑0 2 真值表 3
  • 简述远程视频监控项目方案

    5G时代的到来和运营商不断的下调流量资费 使得远程视频监控系统更加的被广泛使用 视频监控中前端摄像机具有快速编码视频内容的能力视频图象数字化是实时编码压缩的 视频流被封装为编码成网络数字包 可以通过网络传输到后端的解码 存储设备 在局域网视
  • mysql float 1,MySql中float类型含义及参数详解

    float表示浮点数 通俗点来说的话 我们可以简单理解为小数 参数有两个 M表示精度 表示浮点数的位数 D表示标度 表示小数位数 M位数不包括小数点位数 举例 float 6 2 则最大范围表示 9999 99 9999 99 float所
  • 用python写一个解密JS混淆加密代码的代码。

    为了解密JS混淆加密代码 您可以使用以下Python代码 def deobfuscate obfuscated code 首先 使用JS解密器库 例如Javascript Deobfuscator 尝试解密代码 以下是使用Javascrip
  • VS2019最简单编译V8引擎方法

    文章目录 1 编译前的配置工作 1 1配置代理 1 2下载depot tools 1 3下载Windows SDK10 2 获取源码 2 1可能出现的错误 3 编译源码 3 1 VS2019编译 1 3 2 VS2019编译 2 3 3另外
  • Pandas-数据结构-DataFrame(七):添加元素、修改元素、删除元素

    一 添加元素 新增列 行并赋值 import numpy as np import pandas as pd df pd DataFrame np random rand 16 reshape 4 4 100 columns a b c d
  • List和Map使用Stream流的例子:

    1 遍历List并输出 List list Arrays asList apple banana orange list stream forEach System out println 2 过滤List中的元素 List list Ar
  • pytorch自定义loss损失函数

    自定义loss的方法有很多 但是在博主查资料的时候发现有挺多写法会有问题 靠谱一点的方法是把loss作为一个pytorch的模块 比如 class CustomLoss nn Module 注意继承 nn Module def init s
  • selenium-java的使用教程

    selenium的使用教程 概述 selenium 是一个用于Web应用程序测试的工具 Selenium测试直接运行在浏览器中 就像真正的用户在操作一样 支持的浏览器包括IE 7 8 9 10 11 Mozilla Firefox Safa
  • IntelliJ IDEA扩展_解决运行Command line is too long

    老版本解决方法 在项目文件夹 idea workspace xml中找到
  • 关于Anaconda中Jyputer Notebook启动后不自动跳转网页Juypter问题的解决

    首先Juypter启动页面 我之前打开后不启动 就手动复制粘贴http 后面的网址在浏览器打开 每次这样很麻烦 上网查了下 有所感悟 灵感来自这个博主 http t csdn cn NMPQs 彻底解决该问题 1 win r 启动cmd 2
  • (二十三)用几何布朗运动模拟股价走势

    几何布朗运动的定义与表达式 用几何布朗运动模拟未来股价 下面我们以华泰证券 601688 股票为例 根据其2016年 2019年的日收盘价数据得到收益率和波动率 模拟未来三年 2020年 2022年 的价格走势 模拟路径为100条 S0设定
  • 集成电路(芯片 ic chip)详解

    集成电路 英文的全称是Integrated Circuit 中文简称为IC 集成电路 也有称为蕊片或chip的 集成电路 就是将晶体管 电阻 电容 二极管等电子组件整合装至一芯片 chip 上所构成的元件 现在的大规模 集成电路 可以集成几
  • 使用Java复制某一路径下的所有sql文件到另一目录下

    package com zyx test import java io File import java io FileInputStream import java io FileOutputStream import java io I