android中怎样列显一个目录中的所有文件 怎样实现

android中怎样列显一个目录中的所有文件 怎样实现,第1张

其实就是java的方法,用File.listFiles可以列举一个目录中的所有文件亮咐,也可以加参数进行察键升文件过滤。

比败老如下面这个例子可以列举C:\下面的所有zip文件。

public static FilenameFilter getFileExtensionFilter(String extension) {

final String _extension = extension

return new FilenameFilter() {

public boolean accept(File file, String name) {

boolean ret = name.endsWith(_extension)

return ret

}

}

}

File file = new File("c:\\")

File[] zipFiles = file.listFiles(getFileExtensionFilter(".zip"))

File中有个File[] listFiles(FileFilter filter)的方法.

实现这个filter的accept方法。

大致实现如下:

public boolean accept(File file){

return file.length()>指定文件大小

}

实现以后, listFiles中衫卜返回的铅塌弯文件数组就是符合你要求的大小的文件槐闷了

Java通过File.listFiles/list方法来列出目录下的文件列表。下面介绍File.listFiles方法的用法。File.list的用法也基本一样。

File.listFiles方法有三种形式,

public File [] listFiles()

无参数的listFiles将返回所有文件,包括子文件轮闭与子目录。

public File [] listFiles(java.io.FilenameFilter)

java.io.FilenameFilter:文件名过滤器接口。过滤器必须实现此接口。该接口定义了一个

public boolean accept(File file, String filename)方法,第一个参数File

file为正在被过滤的文件,第二个参数为正在被过滤的文件名。FilenameFilter.accept返回false的文件会被过滤掉。

该方法返回匹配FilenameFilter所指定条件的文件

public File [] listFiles(java.io.FileFilter)

public boolean accept(File file)方法,第一个参数File file为正在被过滤的文件。FileFilter.accept返回false的文件会被过滤掉。

该方茄桐法返回匹配FileFilter所指定条件的文件。颤桐坦

下面我们通过举例说明后2个方法的用法。

取得指定扩展名的文件列表:

public static FilenameFilter getFileExtensionFilter(String extension) {

final String _extension = extension

return new FilenameFilter() {

public boolean accept(File file, String name) {

boolean ret = name.endsWith(_extension)

return ret

}

}

}

File file = new File("c:\\")

File[] zipFiles = file.listFiles(getFileExtensionFilter(".zip"))

public static FilenameFilter getFileExtensionFilter(String extension) { final String _extension = extension return new FilenameFilter() { public boolean accept(File file, String name) { boolean ret = name.endsWith(_extension) return ret } } }File file = new File("c:\\") File[] zipFiles = file.listFiles(getFileExtensionFilter(".zip"))

取得文件名满足所指定的规则表达式的文件列表

public static FilenameFilter getFileRegexFilter(String regex) {

final String regex_ = regex

return new FilenameFilter() {

public boolean accept(File file, String name) {

boolean ret = name.matches(regex_)

return ret

}

}

}

File file = new File("c:\\")

//取得文件名为8个数字,扩展名为.html的文件

File[] numberHtmlFiles = file.listFiles(getFileRegexFilter("[0-9]{8}\\.html"))

public static FilenameFilter getFileRegexFilter(String regex) { final String regex_ = regex return new FilenameFilter() { public boolean accept(File file, String name) { boolean ret = name.matches(regex_) return ret } } }File file = new File("c:\\") //取得文件名为8个数字,扩展名为.html的文件 File[] numberHtmlFiles = file.listFiles(getFileRegexFilter("[0-9]{8}\\.html"))

取得非目录的文件列表:

public static FileFilter getNotDirFileFilter() {

return new FileFilter() {

public boolean accept(File file) {

return file.isFile()

}

}

}

File file = new File("c:\\")

File[] notDirFiles = file.listFiles(getNotDirFileFilter())


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12320826.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存