最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java使用遞歸復(fù)制文件夾及文件夾

 更新時(shí)間:2020年05月14日 14:34:48   作者:Draogn  
這篇文章主要介紹了Java使用遞歸復(fù)制文件夾及文件夾,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

遞歸調(diào)用copyDir方法實(shí)現(xiàn),查詢源文件目錄使用字節(jié)輸入流寫入字節(jié)數(shù)組,如果目標(biāo)文件目錄沒有就創(chuàng)建目錄,如果迭代出是文件夾使用字節(jié)輸出流對拷文件,直至源文件目錄沒有內(nèi)容。

/**
   * 復(fù)制文件夾
   * @param srcDir 源文件目錄
   * @param destDir 目標(biāo)文件目錄
   */
  public static void copyDir(String srcDir, String destDir) {
    if (srcRoot == null) srcRoot = srcDir;
    //源文件夾
    File srcFile = new File(srcDir);
    //目標(biāo)文件夾
    File destFile = new File(destDir);
    //判斷srcFile有效性
    if (srcFile == null || !srcFile.exists())
      return;
    //創(chuàng)建目標(biāo)文件夾
    if (!destFile.exists())
      destFile.mkdirs();
    //判斷是否是文件
    if (srcFile.isFile()) {
      //源文件的絕對路徑
      String absPath = srcFile.getAbsolutePath();
      //取出上級目錄
      String parentDir = new File(srcRoot).getParent();
      //拷貝文件
      copyFile(srcFile.getAbsolutePath(), destDir);

    } else {  //如果是目錄
      File[] children = srcFile.listFiles();
      if (children != null) {
        for (File f : children) {
          copyDir(f.getAbsolutePath(), destDir);
        }
      }
    }
  }
/**
   * 復(fù)制文件夾
   *
   * @param path  路徑
   * @param destDir 目錄
   */
  public static void copyFile(String path, String destDir) {

    FileInputStream fis = null;
    FileOutputStream fos = null;
    try {
       /*
        準(zhǔn)備目錄
        取出相對的路徑
        創(chuàng)建目標(biāo)文件所在的文件目錄
       */
      String tmp = path.substring(srcRoot.length());
      String folder = new File(destDir, tmp).getParentFile().getAbsolutePath();
      File destFolder = new File(folder);
      destFolder.mkdirs();
      System.out.println(folder);      //創(chuàng)建文件輸入流
      fis = new FileInputStream(path);
      //定義新路徑
      //創(chuàng)建文件 輸出流
      fos = new FileOutputStream(new File(destFolder,new File(path).getName()));
      //創(chuàng)建字節(jié)數(shù)組進(jìn)行流對拷
      byte[] buf = new byte[1024];
      int len = 0;
      while ((len = fis.read(buf)) != -1) {
        fos.write(buf, 0, len);
      }
    } catch (IOException ex) {
      ex.printStackTrace();
    } finally {
      try {
        fis.close();
        fos.close();
      } catch (IOException e) {
        e.printStackTrace();
      }
    }
  }

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中的MessageFormat.format用法實(shí)例

    Java中的MessageFormat.format用法實(shí)例

    這篇文章主要介紹了Java中的MessageFormat.format用法實(shí)例,本文先是講解了MessageFormat的語法,然后給出了多個(gè)操作實(shí)例,需要的朋友可以參考下
    2015-06-06
  • SpringBoot中配置文件pom.xml的使用詳解

    SpringBoot中配置文件pom.xml的使用詳解

    SpringBoot的pom.xml文件是Maven項(xiàng)目的核心配置文件,用于定義項(xiàng)目的依賴、插件、構(gòu)建配置等信息,下面小編就來和大家詳細(xì)介紹一下它的具體使用吧
    2025-03-03
  • springBoot的事件機(jī)制GenericApplicationListener用法解析

    springBoot的事件機(jī)制GenericApplicationListener用法解析

    這篇文章主要介紹了springBoot的事件機(jī)制GenericApplicationListener用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值的相關(guān)資料
    2019-09-09
  • Java運(yùn)算符從見過到掌握下

    Java運(yùn)算符從見過到掌握下

    計(jì)算機(jī)的最基本用途之一就是執(zhí)行數(shù)學(xué)運(yùn)算,作為一門計(jì)算機(jī)語言,Java也提供了一套豐富的運(yùn)算符來操縱變量,本篇對大家的學(xué)習(xí)或工作具有一定的價(jià)值,緊接上篇,需要的朋友可以參考下
    2021-09-09
  • 解決Mybatis?plus實(shí)體類屬性與表字段不一致的問題

    解決Mybatis?plus實(shí)體類屬性與表字段不一致的問題

    這篇文章主要介紹了Mybatis?plus實(shí)體類屬性與表字段不一致解決方法,文末給大家提到了Mybatis-plus中數(shù)據(jù)庫表名和表字段名的相關(guān)知識,需要的朋友可以參考下
    2022-07-07
  • Liquibase結(jié)合SpringBoot使用實(shí)現(xiàn)數(shù)據(jù)庫管理功能

    Liquibase結(jié)合SpringBoot使用實(shí)現(xiàn)數(shù)據(jù)庫管理功能

    Liquibase 是一個(gè)強(qiáng)大的數(shù)據(jù)庫管理工具,它幫助你通過自動(dòng)化管理數(shù)據(jù)庫的變更、版本控制、和回滾,簡化了開發(fā)中的數(shù)據(jù)庫遷移工作,這篇文章主要介紹了Liquibase結(jié)合SpringBoot使用實(shí)現(xiàn)數(shù)據(jù)庫管理,需要的朋友可以參考下
    2024-12-12
  • springboot詳解整合swagger方案

    springboot詳解整合swagger方案

    Swagger是一個(gè)規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化?Restful?風(fēng)格的?Web?服務(wù)??傮w目標(biāo)是使客戶端和文件系統(tǒng)作為服務(wù)器以同樣的速度來更新。文件的方法、參數(shù)和模型緊密集成到服務(wù)器端的代碼,允許API來始終保持同步
    2022-07-07
  • JAVA swing布局管理器實(shí)例解析

    JAVA swing布局管理器實(shí)例解析

    這篇文章主要介紹了JAVA swing布局管理器實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • SpringBoot集成JmsTemplate(隊(duì)列模式和主題模式)及xml和JavaConfig配置詳解

    SpringBoot集成JmsTemplate(隊(duì)列模式和主題模式)及xml和JavaConfig配置詳解

    這篇文章主要介紹了SpringBoot集成JmsTemplate(隊(duì)列模式和主題模式)及xml和JavaConfig配置詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Java多線程 線程狀態(tài)原理詳解

    Java多線程 線程狀態(tài)原理詳解

    這篇文章主要介紹了Java多線程 線程狀態(tài)原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02

最新評論

泌阳县| 通州区| 金门县| 霍林郭勒市| 定安县| 竹山县| 全州县| 花莲县| 宣威市| 茶陵县| 盐池县| 得荣县| 惠来县| 吉安市| 金山区| 淳化县| 年辖:市辖区| 蕲春县| 无为县| 五河县| 方正县| 神池县| 霍城县| 子长县| 浦县| 马鞍山市| 禹城市| 龙游县| 五峰| 前郭尔| 西华县| 大安市| 元阳县| 古田县| 佛冈县| 台东市| 威海市| 衡南县| 聂拉木县| 福清市| 大英县|