java课后动手动脑

下面是使用Files.walkFileTree()方法来找出指定文件夹下所有大于指定大小的文件的示例代码:

 1 import java.io.IOException;
 2 import java.nio.file.*;
 3 import java.nio.file.attribute.BasicFileAttributes;
 4 
 5 public class FileSizeFilter {
 6     public static void main(String[] args) throws IOException {
 7         Path folder = Paths.get("your_folder_path");
 8         long sizeThreshold = 1024 * 1024; // 1MB
 9 
10         Files.walkFileTree(folder, new SimpleFileVisitor<Path>() {
11             @Override
12             public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
13                 long fileSize = attrs.size();
14                 if (fileSize > sizeThreshold) {
15                     System.out.println(file);
16                 }
17                 return FileVisitResult.CONTINUE;
18             }
19         });
20     }
21 }

 

上面的代码中,你需要将"your_folder_path"替换为你要搜索的文件夹的路径。这段代码会递归遍历该文件夹下的所有文件,对每个文件判断其大小是否大于指定大小,如果满足条件,则将文件路径打印出来。

下面是使用Files.walkFileTree()方法来找出指定文件夹下所有扩展名为.txt和.java的文件的示例代码:

 1 import java.io.IOException;
 2 import java.nio.file.*;
 3 import java.nio.file.attribute.BasicFileAttributes;
 4 
 5 public class FileExtensionFilter {
 6     public static void main(String[] args) throws IOException {
 7         Path folder = Paths.get("your_folder_path");
 8 
 9         Files.walkFileTree(folder, new SimpleFileVisitor<Path>() {
10             @Override
11             public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
12                 String fileName = file.getFileName().toString();
13                 if (fileName.endsWith(".txt") || fileName.endsWith(".java")) {
14                     System.out.println(file);
15                 }
16                 return FileVisitResult.CONTINUE;
17             }
18         });
19     }
20 }

 

上面的代码中,同样需要将"your_folder_path"替换为你要搜索的文件夹的路径。代码会递归遍历该文件夹下的所有文件,对每个文件判断其扩展名是否为.txt或.java,如果满足条件,则将文件路径打印出来。

下面是使用Files.walkFileTree()方法来找出指定文件夹下所有包含指定字符串的txt文件的示例代码:

 1 import java.io.IOException;
 2 import java.nio.file.*;
 3 import java.nio.file.attribute.BasicFileAttributes;
 4 
 5 public class FileContentFilter {
 6     public static void main(String[] args) throws IOException {
 7         Path folder = Paths.get("your_folder_path");
 8         String searchString = "your_search_string";
 9 
10         Files.walkFileTree(folder, new SimpleFileVisitor<Path>() {
11             @Override
12             public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
13                 if (file.toString().endsWith(".txt")) {
14                     String content = new String(Files.readAllBytes(file));
15                     if (content.contains(searchString)) {
16                         System.out.println(file);
17                     }
18                 }
19                 return FileVisitResult.CONTINUE;
20             }
21         });
22     }
23 }

 

同样,需要将"your_folder_path"替换为你要搜索的文件夹的路径,将"your_search_string"替换为你要搜索的字符串。代码会递归遍历该文件夹下的所有文件,对每个扩展名为.txt的文件读取其内容,并判断是否包含指定字符串,如果满足条件,则将文件路径打印出来。

posted on 2023-10-23 20:30  临江柔  阅读(30)  评论(0)    收藏  举报