|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
假如你想迅速地从一个文件结构中找出指定类型的所有文件,可使用 java.io.FileFilter实现。 FileFilter是JDK 1.2的许多附加部分之一。这个简朴的接口用于一个文件是否被接受。它一个异常一般的方式,去找出一个文档系统。在FileFilter和其早期接口FilenameFilter间最大的不同就是:FileFilter使文件作为一个文件对象,而FilenameFilter使文件作为一个目录和一个字符串名被过滤。 例如:FileFilter接口包含如下方式: boolean accept(File file); 而FilenameFilter包含如下方式: boolean accept(File directory, String name); 一个简朴的文件过滤是已知文件扩展名,你可以使用FilenameFilter 接口,但它却难以知道这个文件名到底是一个文件还是一个目录。为了去解决这个问题,你需要去做一个文件对象,与其自己去做,不如使用FileFilter接口,如下是ExtensionFileFilter代码: package com.generationjava.io.find; import java.io.File; import java.io.FileFilter; public class ExtensionFileFilter implements FileFilter { private String extension; public ExtensionFileFilter(String extension) { this.extension = extension; } public boolean accept(File file) { if(file.isDirectory( )) { return false; } String name = file.getName( ); // find the last int idx = name.lastIndexOf("."); if(index == -1) { return false; } else if(index == name.length( ) -1) { return false; } else { return this.extension.equals(name.substring(index+1)); } } } 下面的例子使用了上面的代码: ... String dir = "..."; // directory of your choice File file = new File(dir); File[] files = file.listFiles(new ExtensionFileFilter("cfg")); // files variable is now c:*.cfg if ´dir´ is c: // that is, all the files in the specified directory ending in *.cfg ... FileFilter有一个父类在javax.swing.filechooser,FileFilter是一个抽象类,常常和JFileChoosers一起使用。假如这样做的话,你将必须去写一个标准的适配器。 返回类别: 教程 上一教程: TOMCAT下配置MYSQL数据库连接池 下一教程: 20分钟认识猛虎脾气-JDK1.5新特性介绍 您可以阅读与"使用FILEFILTER查找文件系统"相关的教程: · 使用FileFilter搜索文件 · 使用JSF和MYFACES实现文件上载 · JSP在线考试系统-BEAN文件 · 使用JSP完成文件可定制上载 · 给你一个例子:FileFilter接口的使用。 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |