java查找文件示例非常详细简单

先看代码

package com.autuo;

import java.io.File;
import java.util.Arrays;

public class FileDemo2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		findFile(new File("D:\\Program Files\\360"), ".jpg");
	}
	
	private static void findFile(File target, String ext) {
		if (target == null)
			return;
		//如果文件是目录
		if (target.isDirectory()) {
			File[] files = target.listFiles();
			if (files != null) {
				for (File f : files) {
					findFile(f, ext);
				}
			}
		} else {
			String name = target.getName().toLowerCase();
			//System.out.println(name);
			if (name.endsWith(ext)) {
				System.out.println(target.getAbsolutePath());
			}
		}
	}

}

这一段代码的话会查找所有360目录下的.jpg文件我们先看代码findFile这边的话是创建一个File实例然后输入文件后缀名这个if(target == null)就是这个实例是不是为空就像一些没有的文件都没有这个文件File实例肯定为空为空我们就不查找然后isDirectory()是我们用来判断这个文件是不是文件夹listFiles()会返回该目录中的文件和目录list()就是返回文件和文件夹内的目录因为我们要用的递归它里面是需要一个绝对路径的所以我们用listFiles()之后在传入后缀名因为我们的foreach语句中类型本身九尾File所以我们不需要新的实例化file然后前面判断完之后不是文件夹就只能是文件了吧所以我梦用target.getName()来获取文件的名字包括后缀名之后我们统一一下大小写用ToLowerCase();来都变成小写如果是大写的话上面调用findfiles()方法的时候传入的后缀名就得是大写不然 打印不了文件之后我们用endsWith()这个方法来看他的后缀名是不是我们所输入的后缀名是的话我梦就打印文件的绝对路径

java查找文件示例非常详细简单_第1张图片

 

你可能感兴趣的:(java,eclipse)