亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JDK1.7 Paths,Files類實現文件夾的復制與刪除的實例

發布時間:2020-09-19 09:50:31 來源:腳本之家 閱讀:205 作者:尚云峰111 欄目:編程語言

實例如下所示:

public static void copyFolder(String srcFolder, String destFolder)
    throws IOException {
  long startTime = System.currentTimeMillis();
  final Path srcPath = Paths.get(srcFolder);
  // 這里多創建一級,就解決了沒有外殼的問題
  final Path destPath = Paths.get(destFolder, srcPath.toFile().getName());
  // 檢查源文件夾是否存在
  if (Files.notExists(srcPath)) {
    System.err.println("源文件夾不存在");
    System.exit(1);
  }
  // 如果目標目錄不存在,則創建
  if (Files.notExists(destPath)) {
    Files.createDirectories(destPath);
  }
// 這里是官方例子的開頭,可能是針對大文件處理設置的參數
// Files.walkFileTree(srcPath,   EnumSet.of(FileVisitOption.FOLLOW_LINKS),
// Integer.MAX_VALUE, new SimpleFileVisitor<Path>() {}
//簡化后的開頭
  Files.walkFileTree(srcPath, new SimpleFileVisitor<Path>() {
    // 官方還調用了專門的文件夾處理,這里沒使用
    // public FileVisitResult preVisitDirectory(Path dir,
    // BasicFileAttributes attrs) throws IOException {return null;}
    @Override
    // 文件處理,將文件夾也一并處理,簡潔些
    public FileVisitResult visitFile(Path file,
      BasicFileAttributes attrs) throws IOException {
    Path dest = destPath.resolve(srcPath.relativize(file));
    // 如果說父路徑不存在,則創建
    if (Files.notExists(dest.getParent())) {
      Files.createDirectories(dest.getParent());
    }
    Files.copy(file, dest);
    return FileVisitResult.CONTINUE;
    }
  });
  long endTime = System.currentTimeMillis();
  System.out.println("復制成功!耗時:" + (endTime - startTime) + "ms");
  }

  // 刪除文件夾
  public static void deleteFolder(String Foleder) throws IOException {
  Path start = Paths.get(Foleder);
  if (Files.notExists(start)) {
    throw new IOException("文件夾不存在!");
  }

  Files.walkFileTree(start, new SimpleFileVisitor<Path>() {
    @Override //構成了一個內部類
    // 處理文件
    public FileVisitResult visitFile(Path file,BasicFileAttributes attrs) throws IOException {
    Files.delete(file);
    return FileVisitResult.CONTINUE;
    }

    @Override
    // 再處理目錄
    public FileVisitResult postVisitDirectory(Path dir, IOException e)
      throws IOException {
    if (e == null) {
      Files.delete(dir);
      return FileVisitResult.CONTINUE;
    } else {
      throw e;
    }
    }
  });
  System.out.println("刪除成功!");
  }

  public static void main(String[] args) throws IOException {
//copyFolder("C:\\Users\\Administrator\\Desktop\\111", "D:\\壓縮\\1級\\2級");// 419ms,378ms,429ms....
deleteFolder("C:\\Users\\Administrator\\Desktop\\111");}

如有問題,還請提出,謝謝!

以上這篇JDK1.7 Paths,Files類實現文件夾的復制與刪除的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湟源县| 玛曲县| 滨海县| 浪卡子县| 康保县| 岚皋县| 富锦市| 东海县| 临漳县| 马龙县| 小金县| 牙克石市| 西安市| 太保市| 荥阳市| 荔浦县| 黔东| 昆山市| 上饶县| 淮阳县| 醴陵市| 东安县| 和龙市| 临澧县| 通河县| 留坝县| 临沧市| 梅河口市| 新巴尔虎左旗| 苍南县| 浑源县| 北碚区| 尤溪县| 桑日县| 新巴尔虎右旗| 威信县| 介休市| 治多县| 靖江市| 佛冈县| 株洲县|