需求:
定义一个方法,找到电脑中所有以avi结尾的电影
主要思路:
递归
代码实现:
public static void findAvi(){
//获取所有盘符
File[] arr = File.listRoots();
for (File file : arr) {
haveAvi(file);
}
}
public static boolean haveAvi(File file){
//查找当前目录下的所有文件和文件夹并放到数组中
File[] files = file.listFiles();
//如果文件夹有权限,会返回null,程序报错,所以一定要判断
if(files !=null){
//遍历
for (File file1 : files) {
//判断对象是否为文件并且文件名以.avi结尾
if(file1.isFile()&&file1.getName().endsWith(".avi")){
return true;
}else{//如果是文件夹,进行递归
haveAvi(file1);
}
}
}
//没有返回false
return false;
}
在main方法中直接使用空参的haveAvi函数即可。
java中涉及到文件操作的思路:
进入文件
遍历文件
判断
判断