File类对象

package cm;

import java.io.File;
import java.io.FilenameFilter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Pattern;

public class test20180415 {

	public static void main(String[] args) {
		// 将array.aslist()生成的列表传入arraylist做参数,生成一个规范的list列表。
		// List ls=new ArrayList<>(Arrays.asList("ni shi zhu man".split("
		// ")));//生成一个list列表,这列表是由固定数组构成的

		// java i/0系统,由许多类构建的一个系统,面对不同传输方式(字节,字符,文本等);
		File f = new File("D:\\LOL\\BIG");//
		// 将一个文件路径编译成一个文件对象,可以代表一个具体的文件,也可以一个目录下所有文件的集合。
		// String[] lls = f.list(new dirfilter("\\w+\\.txt"));//
		// list()方法将文件集合下的文件名作为一个list集合返回。
		// dirfilter对象实现了filenamefilter接口,这个接口只有一个accept抽象方法。f.list()方法返回文件集合中的每个文件,同时对文件集合中的每个文件调用dirfilter类中的accept方法,如果
		// accept方法返回true,则将这个文件名返回list集合中。
		// for (int i = 0; i < lls.length; i++) {
		// System.out.println(lls[i]);
		// }
		// System.out.print("\\");//java中使用正则表达式转移使用双反斜杠,不同于其他语言,但\\\\代表\\,\\代表\

		// 将上面的代码使用匿名内部类简化
		// File f=new File("D://LOL");
		// String [] lls=f.list(new FilenameFilter() {
		// Pattern p=Pattern.compile("\\w\\.txt");
		// @Override
		// public boolean accept(File dir, String name) {//name为list调用accept方法的时候传入的参数
		// return p.matcher(new File(name).getName()).matches();
		// }
		// });
		// System.out.println(lls[0]);

		// File类对象的方法
		// P.sopl(f.getAbsolutePath());// 获取绝对路径
		// P.sopl(f.canRead() + "");// 可读?
		// P.sopl(f.canWrite() + "");// 可写?
		// P.sopl(f.getName());// 获取文件名
		// P.sopl(f.getParent());// 获取父路经
		// P.sopl(f.getPath());// 获取文件路径
		// P.sopl(f.length() + "");// 获取长度
		// P.sopl(f.lastModified() + "");// 最后修改的时间
		// P.sopl(f.isDirectory() + "");// 是文件夹?
		// P.sopl(f.isFile() + "");// 是文件?
		// P.sopl(f.exists() + "");// 是否存在?
		// File fs = new File("D:\\LOL\\BIGSEA");// 新建一个文件夹,如果文件夹存在则不创建,并且不会修改文件创建日期。
		// fs.mkdirs();
		// fs.renameTo(f);//用于将fs重命名为f或则,将fs移动到f所制定的目录下。
		

	}

}

class dirfilter implements FilenameFilter {// filenamefilter是文件过滤器的接口
	private Pattern pattern;

	// Pattern类中只有私有构造器,通过compile方法调用构造器,传入参数为正则表达式,生成一个正则表达式模型pattern。
	public dirfilter(String regex) {
		pattern = Pattern.compile(regex);
	}

	@Override
	public boolean accept(File dir, String name) {
		return pattern.matcher(new File(name).getName()).matches();
	}

}

你可能感兴趣的:(java)