diff --git a/demo1/src/main/java/cn/bunny/Demo10.java b/demo1/src/main/java/cn/bunny/Demo10.java index dfbbd72..e8c7c57 100644 --- a/demo1/src/main/java/cn/bunny/Demo10.java +++ b/demo1/src/main/java/cn/bunny/Demo10.java @@ -7,8 +7,45 @@ import java.util.concurrent.atomic.AtomicInteger; public class Demo10 { public static void main(String[] args) throws IOException { + String source = "D:\\BaiduNetdiskDownload\\web项目\\大屏模板\\【1849】"; + String target = "D:\\BaiduNetdiskDownload\\web项目\\大屏模板\\【1849】 aaaa"; + Files.walk(Paths.get(source)).forEach(path -> { + try { + String targetName = path.toString().replace(source, target); + // 是目录 就创建 + if (Files.isDirectory(path)) { + Files.createDirectories(Paths.get(targetName)); + } + // 是普通文件就复制 + else if (Files.isRegularFile(path)) { + Files.copy(path, Paths.get(targetName)); + } + } catch (Exception exception) { + exception.printStackTrace(); + } + }); + } + // 删除文件 + private static void m3() throws IOException { + // 删除目录不允许,因为里面有文件,所以不可以删除,先将文件删除之后再删除文件夹 + Files.walkFileTree(Paths.get("D:\\BaiduNetdiskDownload\\web项目\\大屏模板\\【1849】 - 副本"), new SimpleFileVisitor<>(){ + // 先删除文件 + @Override + public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { + Files.delete(file); + return super.visitFile(file, attrs); + } + // 再删除文件夹 + public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException { + Files.delete(dir); + return super.postVisitDirectory(dir, exc); + } + }); + } + + // 查看当前文件 + private static void m2() throws IOException { AtomicInteger atomicInteger = new AtomicInteger(); - m1(); Files.walkFileTree(Paths.get("D:\\BaiduNetdiskDownload\\web项目\\大屏模板"), new SimpleFileVisitor<>(){ /** * Invoked for a file in a directory. @@ -16,8 +53,6 @@ public class Demo10 { *

Unless overridden, this method returns {@link FileVisitResult#CONTINUE * CONTINUE}. * - * @param file - * @param attrs */ @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { @@ -32,6 +67,7 @@ public class Demo10 { System.out.println("===>" + atomicInteger); } + // 文件相关操作 private static void m1() throws IOException { AtomicInteger dirCount = new AtomicInteger(); AtomicInteger fileCount = new AtomicInteger(); @@ -44,8 +80,6 @@ public class Demo10 { *

Unless overridden, this method returns {@link FileVisitResult#CONTINUE * CONTINUE}. * - * @param dir - * @param attrs */ @Override public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException { @@ -60,8 +94,6 @@ public class Demo10 { *

Unless overridden, this method returns {@link FileVisitResult#CONTINUE * CONTINUE}. * - * @param file - * @param attrs */ @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { diff --git a/demo1/target/classes/cn/bunny/Demo10$1.class b/demo1/target/classes/cn/bunny/Demo10$1.class index 4f63cbb..cf91f41 100644 Binary files a/demo1/target/classes/cn/bunny/Demo10$1.class and b/demo1/target/classes/cn/bunny/Demo10$1.class differ diff --git a/demo1/target/classes/cn/bunny/Demo10$2.class b/demo1/target/classes/cn/bunny/Demo10$2.class index 4e98bcb..bc71560 100644 Binary files a/demo1/target/classes/cn/bunny/Demo10$2.class and b/demo1/target/classes/cn/bunny/Demo10$2.class differ diff --git a/demo1/target/classes/cn/bunny/Demo10$3.class b/demo1/target/classes/cn/bunny/Demo10$3.class new file mode 100644 index 0000000..747a2b8 Binary files /dev/null and b/demo1/target/classes/cn/bunny/Demo10$3.class differ diff --git a/demo1/target/classes/cn/bunny/Demo10.class b/demo1/target/classes/cn/bunny/Demo10.class index 4ca3c78..1b21cdf 100644 Binary files a/demo1/target/classes/cn/bunny/Demo10.class and b/demo1/target/classes/cn/bunny/Demo10.class differ