java之io之File类的list()方法过滤目录的使用
java的io的知识中,File类必须掌握。File类是对文件或者文件夹的封装。它本身并不能对所封装的文件进行读写,它封装的只是文件或文件夹的周边知识,比如 大小啦,创建日期啦,路径啦等等。
如果File封装的文件夹,File类的list()方法可以将此文件夹下的所有文件夹和文件已字符串数组的形式返回。
list(FilenameFilter)可以对返回的字符串数组进行过滤,取自己想要的字符串。
?打印文件夹下的.java文件
实现1
package com.westward.io; import java.io.File;
import java.io.FilenameFilter;
import java.util.regex.Pattern; public class ListFileDemo {
public static void main(String[] args) {
File file= new File("..");
listFileJava(file);
} public static void listFileJava(File file){
for (String string : file.list(new DirFilter(".*\\.java"))) {
System.out.println(string);
} }
} class DirFilter implements FilenameFilter{
private Pattern pattern;
public DirFilter(String regex) {
// TODO Auto-generated constructor stub
pattern= Pattern.compile(regex);
}
@Override
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
return pattern.matcher(name).matches();
} }
实现2 匿名内部类的形式
package com.westward.io; import java.io.File;
import java.io.FilenameFilter;
import java.util.regex.Pattern; public class ListFileDemo2 {
public static void main(String[] args) {
File file= new File("..");
final String regex= ".*\\.java";
String[] files= file.list(new FilenameFilter() {
private Pattern pattern= Pattern.compile(regex);
@Override
public boolean accept(File dir, String name) {
return pattern.matcher(name).matches();
}
});
for (String string : files) {
System.out.println(string);
}
}
}
output:
Demo.java
hha.java
ln.java
注意:
匿名内部类若 需要访问外部方法的局部变量,那么局部变量必须被 final 所修饰。
java之io之File类的list()方法过滤目录的使用的更多相关文章
- Java基础---IO(二)--File类、Properties类、打印流、序列流(合并流)
第一讲 File类 一.概述 1.File类:文件和目录路径名的抽象表现形式 2.特点: 1)用来将文件或文件夹封装成对象 2)方便于对文件与文件夹的属性信息进行操作 3)File类的实例是不 ...
- Java的IO操作---File类
目标 1)掌握File类作用 2)可以使用file类中方法对文件进行读写操作. File类 唯一与文件有关的类.使用file类可进行创建或删除操作,要想使用File类,首先观察File类的构造方法. ...
- java之io之file类的常用操作
java io 中,file类是必须掌握的.它的常用api用法见实例. package com.westward.io; import java.io.File; import java.io.IOE ...
- Java文件(io)编程——File类的基本用法
1.首先了解文件流的相关概念: 2.文件File类的基本用法 public class Demo_1 { public static void main(String[] args) { //创建一个 ...
- Java中如何利用File类递归的遍历指定目录中的所有文件和文件夹
package cuiyuee; import java.io.File; import java.util.ArrayList; import java.util.List; public clas ...
- JAVA:IO流——File类
1.掌握File 类的作用 2.可以使用File 类中的方法对文件进行操作 所有的 io 操作都保存在 java.io 包中. 构造方法:public File (String pathname) 直 ...
- java学习笔记IO之File类
File类总结 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Times } p.p2 { margin: 0.0px 0.0px 0.0p ...
- Java—IO流 File类的常用API
File类 1.只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. package cn.test; import java.io.File; import java.io.IOE ...
- java io包File类
1.java io包File类, Java.io.File(File用于管理文件或目录: 所属套件:java.io)1)File对象,你只需在代码层次创建File对象,而不必关心计算机上真正是否存在对 ...
随机推荐
- 【转】Github 上传代码
版权声明:欢迎转载(^ω^)~不过转载请注明原文出处:http://blog.csdn.net/catglory ლ(╹◡╹ლ) 写在前面: 弄了两小时终于搞定了,把经验整理下,方便我以后上传代码XD ...
- SQL 总结
1. select 使用正则表达式 正则表达式的模式串, 与linux基本相同, oracle提供以下4个函数来支持正则表达式: REGEXP_LIKE: 比较一个字符串是否与正则表达式匹配(看来是返 ...
- 关于ASP.NET的web.config的小笔记
在ASP和MVC开发中,有一些参数是需要活动更改的,最常见的就是数据库的链接字符串<connectionStrings>节点下配置的.在今天接触的项目中,我又接触到了自定义配置参数,就是可 ...
- poj1434Fill the Cisterns!(二分)
链接 题目说给你n个水箱,初始是没有水的,每个的高低位置可能不同,给了你初始的水箱底部所处的水平线位置,问给你V体积水时,水的水平线位置. 直接二分位置p,对于每一个底部低于水平线位置的水箱,里面的水 ...
- thinkphp分页效果的制作,按查询条件分页正确做法
PHP代码: <?php namespace Home\Controller; use Think\Controller; use Home\Clas\Cate; class IndexCont ...
- Target runtime Apache Tomcat v7.0 is not defined.
打开项目,找到.settings--->org.eclipse.wst.common.project.facet.core 修改这个文件中: <?xml version="1.0 ...
- poj 1144 Network(无向图求割顶数)
题目链接:poj 1144 题意就是说有 n(标号为 1 ~ n)个网点连接成的一个网络,critical places 表示删去后使得图不连通的顶点,也就是割顶,求图中割顶的个数. 直接上大白书上的 ...
- MapReduce中作业调度机制
MapReduce中作业调度机制主要有3种: 1.先入先出FIFO Hadoop 中默认的调度器,它先按照作业的优先级高低,再按照到达时间的先后选择被执行的作业. 2.公平调度器(相当于时间 ...
- android textview段落开头空格问题
textview中段落开头一般都会空2格排版显示,如果靠编辑空格来解决那就大错特错了,完美的解决方法就是用转义字符"\t",在段首加\t\t就解决啦!
- eclipse+adt+sdk开发环境搭配
1.开发环境配置 http://www.mamicode.com/info-detail-516839.html