IO流02_文件过滤器
【简述】
在File类的list方法中可以接收一个FilenameFilter参数,通过该参数可以列出只满足要求的文件。
FilenameFilter接口里包含了一个accept(File dir, String name)方法,该方法会依次对指定的File的所有子目录或者文件进行迭代,如果该方法返回true,则list()方法会列出该子目录或文件。
File类中的使用过滤器的list方法
FilenameFilter接口内的accept(File dir,String name)方法
【案例】
package com.Higgin.part1; import java.io.File;
import java.io.FilenameFilter; /**
* FilenameFilter接口的实现类
* 在accept方法内添加文件名的过滤器条件
*/
class FilterName implements FilenameFilter{
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".txt");
}
}
/**
* 文件名过滤
*/
public class FilenameFilterDemo {
public static void main(String[] args) {
File file=new File("c://testJavaIO");
System.out.println("===============使用lambda表达式获取后缀为.java的文件=================");
//使用lambda表达式,获得后缀是.java的文件
String[] nameList=file.list((div,name)->name.endsWith(".java")); //极大简化了代码
for(String fileName:nameList){
System.out.println(fileName);
} System.out.println("===============使用lambda表达式获取后缀为.txt的文件=================");
//不使用lambda表达式获取后缀为.txt的文件
String[] nameList2=file.list(new FilterName()); //直接使用FileNameFilter的实现类FilterName
for(String fileName:nameList2){
System.out.println(fileName);
}
}
}
【对应的文件夹内的内容】
【运行结果】
【小结】
上面的两个方法都实现了accept()方法,实现accept()方法起始就是实现自己的过滤规则,指定那些文件应该由list方法来列出。
FilenameFilter接口内只有一个抽象方法,因此该方法是一个函数式接口,可以使用lambda表达式创建实现该接口。
IO流02_文件过滤器的更多相关文章
- Java基础 IO流的文件和目录的五类主要操作
笔记: /** IO流的 文件和目录的操作 * 1.路径需要 需要两个反斜杠 或者一个单斜杠! * 绝对路径:包括盘符在内的完整的路径名! * 相对路径:在当前目录文件下的路径! * 2.File 是 ...
- Java:IO流与文件基础
Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...
- java io流 对文件夹的操作
java io流 对文件夹的操作 检查文件夹是否存在 显示文件夹下面的文件 ....更多方法参考 http://www.cnblogs.com/phpyangbo/p/5965781.html ,与文 ...
- java io流 创建文件、写入数据、设置输出位置
java io流 创建文件 写入数据 改变system.out.print的输出位置 //创建文件 //写入数据 //改变system.out.print的输出位置 import java.io.*; ...
- IO流----操作文件的9种方法代码实现
IO流----操作文件的9种方法代码实现: 1:使用字节流读写数据: 四种方式: method1: 每次读写一个字节,边读边写: /* * 复制文本文件. * * 数据源:从哪里来 ...
- 38、使用IO流进行文件拷贝
使用IO流进行文件拷贝 需求:在项目的根目录里面创建一个java.txt的文件,然后将这个文件拷贝到file文件夹里面并且重命名为good.txt文件先以流的方式将java.txt文件读取到内存中,然 ...
- Java基础教程:IO流与文件基础
Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...
- java 后台通过IO流把文件传到前端并下载
我的业务需求是两个不同的web程序放在不同的服务器上,web程序A要访问到web程序B上传上来的文件,所以用到了这一个IO读取文件的接口 JAVA代码(排版有点问题 已经尽力补救了(:3_ヽ)_) ...
- IO流的文件输入输出效率问题
IO流的文件输入输出效率问题 第一种方法 我用使用一个数组,把FIleInputStream获取到的二进制数存入这个数组,然后使用FIleOutputStream进行输出 缺点:速度慢 优点:不消耗内 ...
随机推荐
- Python用特殊符号切割字符串并生成list(简单)
采用re模块,可以指定字符进行切割,例如切割IP地址: import socket import re localIP = socket.gethostbyname(socket.gethostnam ...
- html样式表极大地提高了工作效率
样式表极大地提高了工作效率 样式表定义如何显示 HTML 元素,就像 HTML 3.2 的字体标签和颜色属性所起的作用那样.样式通常保存在外部的 .css 文件中.通过仅仅编辑一个简单的 CSS 文档 ...
- powershell.exe直接运行命令
powershell.exe -Command "& { ('time={0},user={1}' -f (get-date),(whoami)) | Out-File " ...
- Codeforces Round #325 (Div. 2) B. Laurenty and Shop 前缀和
B. Laurenty and Shop Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/586/p ...
- C#_MVC_Repository_CRUD_Model
using System.Collections.Generic; using System.ComponentModel.DataAnnotations; namespace iFlytekDemo ...
- 【转】C语言 字符数组与字符串
原文:http://blog.csdn.net/metasearch/article/details/2856097 在C语言编程中,当我们声明一个字符串数组的时候,常常需要把它初始化为空串.总结起来 ...
- oracle中对LONG列进行查询
SQL> CREATE TABLE T_LONG (ID NUMBER, LONG_COL LONG); 表已创建. SQL> INSERT INTO T_LONG VALUES (1, ...
- iOS之设置状态栏颜色
状态栏的字体为黑色:UIStatusBarStyleDefault 状态栏的字体为白色:UIStatusBarStyleLightContent 一.在info.plist中,将View contro ...
- HTML5表单内元素的required属性
当表单内元素(如input.textarea)中有required属性并且值不为false的时候,则该字段不能为空,否则提交失败. <input type="text" au ...
- httperf ---linux web站点压力测试
一.工具下载&&安装 软件获取 ftp://ftp.hpl.hp.com/pub/httperf/ 这里使用的是如下的版本 ftp://ftp.hpl.hp.com/pub/httpe ...