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 所修饰。

最新文章

  1. Appium路线图及1.0正式版发布
  2. [转载]开机出现A disk read error occurred错误
  3. CSS 高级
  4. 为什么我们需要使用 touch 命令
  5. 关于promise
  6. docker 镜像运行问题
  7. 阿里巴巴开源项目汇总-(JAVA)
  8. leetcode — powx-n
  9. Python学习(七) —— 装饰器、迭代器、生成器
  10. 100-days: sixteen
  11. Xcode编译警告Assigning to 'id<XXXDelegat> ——Nullable' from incompatible type 'XXXView *const_strong'
  12. Windows 7 安装VS2008 SP1 失败
  13. (原)linux下利用cmake来编译jthread开源库
  14. express-session相关用法
  15. c++ 多继承 public
  16. 关于iOS UIWebView 加载网页,点击网页内某些控件导致 Application 'UIKitApplication:xxx.xxx.xxx' was killed by jetsam.
  17. uvaoj 10474 - Where is the Marble?(sort+lower_bound)
  18. 【算法笔记】B1026 程序运行时间
  19. HL7 2.6 解析(XML)
  20. 51nod 1060 最复杂的数 反素数

热门文章

  1. mysql 执行计划的理解
  2. Java中List Set Map 是否有序等总结
  3. c++中的类的对象与类的指针
  4. Git的优势
  5. Object Pascal 控制语句
  6. gdufs 1237 最优分解问题
  7. python字符串替换的2种有效方法
  8. 【论文阅读记录】Real-Time Correlative Scan Matching
  9. cesium调用天地图服务
  10. graph_tool源码及其注释