public static void search(File dir, String s2) { if (dir!=null&&dir.isDirectory()){ File[] files = dir.listFiles(); System.out.println(Arrays.toString(files)); for (File file : files) { if (file.isFile()&& file.getName().contains(s2)){ System.out.println("找到了,路径是"+file.getAbsolutePath()); } if (file!=null&&file.isDirectory()){ search(file,s2); } } }else{ System.out.println("您输入的不是文件夹"); }
时间: 2024-02-15 15:29:04 浏览: 18
这段 Java 代码实现了在指定文件夹及其子文件夹下查找包含指定字符串的文件,并输出找到的文件的路径。首先,该方法接收两个参数,一个是 `File` 类型的目录 `dir`,另一个是一个字符串 `s2`,表示要查找的字符串。然后,代码首先判断 `dir` 是否为目录,若不是,则输出提示信息;否则,获取目录下的所有文件和文件夹,对于每个文件或文件夹,如果是一个文件夹,则递归调用 `search` 方法查找该文件夹下的文件;如果是一个文件,则判断其文件名是否包含指定字符串 `s2`,若是,则输出该文件的路径。
需要注意的是,在递归调用 `search` 方法查找子文件夹时,需要先判断子文件夹是否为 null,否则会出现空指针异常。另外,在输出文件路径时,需要使用 `getAbsolutePath()` 方法获取绝对路径,而不是仅仅输出文件名。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)