java使用递归遍历文件,使用内部类过滤文件,使用匿名内部类过滤文件
public class TestFile {
public static void main(String [] args) {
//遍历文件夹中文件名称,若文件夹中还存有文件夹,递归读取文件夹名称
File file = new File("D:\\javafile"); //假设文件保存在D:\\javafile中
new TestFile().show(file);
}
public void show(File file) {
File[] files = file.listFiles();
for(File fs : files) {
System.out.println(fs.getName());
if(fs.isDirectory()) {
show(fs);
}
}
}
}
//使用内部类过滤文件
public class TestFile{
public static void main(String [] args) {
File file = new File("D:\\javafile");
new TestFile().show(file);
}
public void show(File file) {
File [] files = file.listFiles();
for(File fs : files) {
if(new MyFilenameFilter().accept(fs, fs.getName())) {
System.out.println(fs.getName());
}
}
}
//在TestFile类的内部,定义MyFilenameFilter类,实现FilenameFilter过滤器的方法
class MyFilenameFilter implements FilenameFilter{
public boolean accept(File file, String name) {
//假设在D:\\javafile文件夹内部保存有.txt格式的文件
if(name.endsWith(".txt")) {
return true;
}
return false;
}
}
}
//使用匿名内部类过滤文件
public class TestFile{
public static void main(String [] args) {
File file = new File("D:\\javafile");
new TestFile().show(file);
}
public void show(File file) {
//红色部门极为匿名内部类部分
File [] files = file.listFiles(new FilenameFilter(){
@Override
public boolean accept(File file, String name) {
if(name.endsWith(".txt")) {
return true;
}
return false;
}
});
for(File fs : files) {
System.out.println(fs.getName());
}
}
}
最新文章
- C#中标准Dispose模式的实现与使用(条目17 实现标准的销毁模式)
- URAL 1658. Sum of Digits(DP)
- js Memoization 优化运行速度
- Gevent的长轮询实现方法详解
- 批量Load/Store指令的寻址方式
- Nginx 安装编译配置
- 数往知来SQL SERVER 视图 触发器 <;九>;
- httpClient模拟浏览器发请求
- Ubuntu 12.04 更新源
- BC第二场
- jenkins 多选框
- 将Map中的参数封装为XML
- xcrun: error: unable to find utility ";PackageApplication";, not a developer tool or in PATH ​
- Node.js_密码明文_密文_加密库_sha1
- FileProvider相关 Failed to find configured root that contains
- Phone漂亮的动画
- Python爬虫与数据图表的实现
- Codeforces 617 E. XOR and Favorite Number
- 问题1:鼠标指向导航栏li,但li中a样式未改变
- hdu1864(01包)