91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

彩票| 老河口市| 盱眙县| 比如县| 长丰县| 庆元县| 武强县| 宜州市| 桐梓县| 马山县| 潞西市| 平果县| 界首市| 京山县| 鸡东县| 丰城市| 平罗县| 古交市| 长宁区| 翁源县| 小金县| 鄂尔多斯市| 建平县| 沾化县| 汉川市| 汝州市| 阜宁县| 稷山县| 溧阳市| 湾仔区| 兰坪| 兴海县| 玉龙| 得荣县| 鄂尔多斯市| 霞浦县| 大同市| 绥宁县| 加查县| 林周县| 张北县|