1.文件搜索案例
package Demo09;
/*
练习:
文件搜索
需求:
遍历C:\\abc文件夹,及abc文件夹的子文件夹
只要.Java的文件
c:\\abc
c:\\abc\\abc.txt
c:\\abc\\abc.java
c:\\abc\\a
c:\\abc\\a\\a.jap
c:\\abc\\b
*/
import java.io.File;
public class 综合案例 {
public static void main(String[] args) {
File files = new File("C:\\abc");
method(files);
}
private static void method(File files) {
File[] f = files.listFiles();
for (File ff : f) {
if (ff.isDirectory()) {
method(ff);
} else {
/*
只要.Java的文件
1.把File对象转换为字符串对象
ff.getName();获取此File表示的文件或目录的名称返回String
*/
String name = ff.getName();// c:\\abc\\abc.java输出得到abc.java
String path = ff.getPath();// getPath(); 返回此File的路径的字符串 返回全路径c:\\abc\\abc.java
String s = ff.toString();// c:\\abc\\abc.java
/*
2.第二步:调用String类中的方法endsWith();方法判断后缀
*/
boolean b = name.endsWith(".java");
//3.第三步:如果是以.java结尾的文件,则输出
if (b == true) {
System.out.println(ff);
//链式编程
if (ff.getName().toLowerCase().endsWith(".java")){
System.out.println(ff);
}
}
}
}
}
三个步骤
第一步是把File类型-》String类 因为endsWith是String类的方法
第二步是调用方法判断
第三步if检验输出
优化:
如果,java是大写如何检出
name=name.toLowerCase(); //Java变为小写 链式编程 if (ff.getName().toLowerCase().endsWith(".java")){ System.out.println(ff);