Java File类学习笔记1:运用FileNameFilter类,获得某一目录下所有指定扩展名的文件

原创 2015年07月10日 15:38:46

运用FileNameFilter类,获得某一目录下所有指定扩展名的文件,后续学习笔记再对File类的操作做梳理

根据帖子上的示例做了综合和一些修改,并加了注释,示例如下:

package com.daxiang.filenamefilter;

import java.io.*;

/**
 * @Author:daxiang
 * @Date:2015-7-10
 * @Email:chenjinpeng0326@163.com
 * @Version:Version1.0
 * @CopyRight:daxiang
 * @Description: 运用FileNameFilter类,获得某一目录下所有指定扩展名的文件
 */
public class FindCertainExtension {

	private static final String FILE_DIR = "D:\\daxiang\\mytest";
	private static final String FILE_TEXT_EXT = ".java";//如需获得其他类型的扩展名,改一下此处即可

	public static void main(String args[]) {
		new FindCertainExtension().listFile(FILE_DIR, FILE_TEXT_EXT);
	}

	public void listFile(String folder, String ext) {

		// 指定目录(如果括号里用“.”的话表示当前目录)
		File dir = new File(folder);
		// 获得所有指定扩展名的文件
		GenericExtFilter filter = new GenericExtFilter(ext);

		if (dir.isDirectory() == false) {
			System.out.println("Directory does not exists : " + FILE_DIR);
			return;
		}

		// list out all the file name and filter by the extension
		String[] lists = dir.list(filter);

		if (lists.length == 0) {
			System.out.println("no files end with : " + ext);
			return;
		}

		// 打印所有指定扩展名文件的名称
		for (String file : lists) {

			// System.out.println(file);
			String temp = new StringBuffer(FILE_DIR).append(File.separator)
					.append(file).toString();
			System.out.println("file : " + temp);
		}
		// 下面的for循环和上面的效果相同
		// for(int i=0;i<lists.length;i++){
		//   System.out.println("i:"+i+" file:"+files[i]);
		// }
	}

	// inner class, generic extension filter
	public class GenericExtFilter implements FilenameFilter {

		private String ext;

		public GenericExtFilter(String ext) {
			this.ext = ext;
		}

		public boolean accept(File dir, String name) {
			return (name.endsWith(ext));
		}
	}
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java 查找目录下指定文件名的文件

这个Java类的作用是查找目录文件中特定文件名的文件,并不是查找文件内容。具体代码如下: package net.xsoftlab.baike; import java.io.File; impo...
  • visant
  • visant
  • 2016年12月16日 15:13
  • 4103

ORACLE 10g下载地址

要感谢http://www.blogjava.net/wangdetian168/archive/2011/03/01/345428.html这位仁兄,把用户名和密码奉献,省得大家去注册了,转的时候不...
  • noway
  • noway
  • 2014年07月09日 11:05
  • 3899

UI组件之AdapterView及其子类(一)三种Adapter适配器填充ListView

AdapterView的内容一般是包含多项相同格式资源的列表,常用的有5种AdapterView的子类: (1)ListView:简单的列表 (2)Spinner:下拉列表,给用户提供选择 (3)Ga...

Jsoup学习笔记6之File类操作文件:获取指定目录下面,指定扩展名(.saz)的文件,并在对应的文件夹下生成同名的csv文件。

虽然这篇笔记涉及的主要是文件的操作,但是是在做的利用Jsoup解析文档小任务的一部分,所以也放在一起,借鉴了帖子上的源码,做了一些改动,下一篇笔记是基于本篇的进一步改进! 实例如下: package ...
  • cjp0326
  • cjp0326
  • 2015年07月22日 15:05
  • 669

Java File类学习笔记4:自定义一个类,过滤指定扩展名的文件

自定义一个类,继承FileNameFilter类,获得某一目录下所有指定扩展名的文件。 方法一: /** * 说明: * 自定义FilterBySaz类,过滤指定扩展名的文件 * */ ...
  • cjp0326
  • cjp0326
  • 2015年08月04日 11:27
  • 2163

java File类与FilenameFilter类的学习

File类这个名字有一定的误导性,我们可能会以为它指代的是文件,实际上却并非如此。它既能代表一个特定文件的名称,又能代表一个目录下一组文件的名称。如果它指的是一个文件集,我们就可以对此集合调用list...

[疯狂Java]I/O:File(文件类,也是文件流的节点)、FilenameFilter(文件过滤器)

1.

java基础之File对象中的FilenameFilter文件过滤以及递归列出指定文件夹路径下的所有文件和所有文件夹

package com.j2se.fileDemo; import java.io.File; import java.io.FilenameFilter; /** * File对象中的listF...

黑马程序员——07File类,文件过滤器FilenameFilter以及递归

------- android培训、java培训、期待与您交流! ----------  ------- android培训、java培训、期待与您交流! ----------...

12. JAVA IO Party 1 (目标、File类、RandomAccessFile类、字节流和字符流、转换流) ----- 学习笔记

本章目标: 掌握java.io包中类的ji
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java File类学习笔记1:运用FileNameFilter类,获得某一目录下所有指定扩展名的文件
举报原因:
原因补充:

(最多只允许输入30个字)