Java基础知识强化之IO流笔记10:File类输出指定目录下指定后缀名的文件名称案例(File类的文件过滤器方法改进list( FilenameFilter ff))
1. 案例:
判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名。
2. 案例代码如下:
(1)思路是:先获取所有的文件和文件夹封装的对象,然后遍历的时候,依次判断,如果满足条件就输出.
package com.himi.filesdemo; import java.io.File; /**
* 判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名
* @author hebao
*
*/
public class FileDemo4 { public static void main(String[] args) {
//封装F盘的目录
File file = new File("F:\\");
//获取该目录下所有文件和文件夹的File数组
File[] files = file.listFiles();
//遍历上面的File[]数组
for(File f:files) {
if(f.isFile()) {
if(f.getName().endsWith(".jpg")) {
System.out.println("JPG图片文件名为:"+f.getName());
}
}
}
} }
运行效果如下:

(2)思路是:获取的时候就已经满足条件了,然后输出即可.
package com.himi.filesdemo; import java.io.File;
import java.io.FilenameFilter; /**
* 判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名
*
* 思路:
* (1)先获取所有的文件和文件夹封装的对象,然后遍历的时候,依次判断,如果满足条件就输出.
* (2)获取的时候就已经满足条件了,然后输出即可.
* @author hebao
*
*/
public class FileDemo4 { public static void main(String[] args) {
//思路(1)
/*
//封装F盘的目录
File file = new File("F:\\");
//获取该目录下所有文件和文件夹的File数组
File[] files = file.listFiles();
//遍历上面的File[]数组
for(File f:files) {
if(f.isFile()) {
if(f.getName().endsWith(".jpg")) {
System.out.println("JPG图片文件名为:"+f.getName());
}
}
}
*/ //思路(2) //封装F盘的目录
File file = new File("F:\\");
//获取该目录下所有文件和文件夹的String数组
String[] strArray = file.list(new FilenameFilter() { public boolean accept(File dir, String name) {
//System.out.println(dir+"----------"+name);
File file = new File(dir,name);
boolean flag1 = file.isFile();
boolean flag2 = file.getName().endsWith(".jpg"); return flag1 && flag2;
}
}); //遍历String数组
for(String str:strArray) {
System.out.println(str);
}
} }
运行效果,如下:

Java基础知识强化之IO流笔记10:File类输出指定目录下指定后缀名的文件名称案例(File类的文件过滤器方法改进list( FilenameFilter ff))的更多相关文章
- Java基础知识强化之IO流笔记06:有return的情况下try catch finally的执行顺序
1. 给出结论: (1)不管有木有出现异常,finally块中代码都会执行:(2)当try和catch中有return时,finally仍然会执行:(3)finally是在return后面的表达式运算 ...
- Java基础知识强化之IO流笔记49:IO流练习之 复制指定目录下指定后缀名的文件并修改名称的案例
1. 复制指定目录下指定后缀名的文件并修改名称的案例 需求:复制指定目录下的指定文件,并修改后缀名. • 指定的文件是:.java文件. • 指定的后缀名是:.jad • 指 ...
- Java基础知识强化之IO流笔记66:Properties的概述 和 使用(作为Map集合使用)
1. Properties的概述 Properties:属性集合类.是一个可以和IO流相结合使用的集合类. 该类主要用于读取以项目的配置文件(以.properties结尾的文件 和 xml文件). ...
- Java基础知识强化之IO流笔记15:递归之删除带内容的目录案例
1. 需求:递归删除带内容的目录 分析: (1)封装目录 (2)获取该目录下的所有文件或者文件夹的File数组 (3)遍历该File数组,得到每一个File对象 (4)判断该File对 ...
- Java基础知识强化之IO流笔记14:递归之输出指定目录下所有java文件绝对路径的案例
1. 需求:输出指定目录下的所以.java结尾文件的绝对路径的案例: 分析: A:封装目录 B:获取该目录下的所有文件和文件夹的File数组 C:遍历这个File数组,得到每一个File对象的 ...
- Java基础知识强化之IO流笔记17:FileOutputStream构造方法使用
1. 可以参照之前写的笔记: Android(java)学习笔记167:Java中操作文件的类介绍(File + IO流) 2. FileOutputStream(常用的)构造方法: FileOu ...
- Java基础知识强化之IO流笔记71:NIO之 NIO的(New IO流)介绍
1. I/O 简介 I/O ( 输入/输出 ):指的是计算机与外部世界或者一个程序与计算机的其余部分的之间的接口.它对于任何计算机系统都非常关键,因而所有 I/O 的主体实际上是内置在操作系统中的. ...
- Java基础知识强化之IO流笔记68:Properties和IO流集合使用
1. Properties和IO流集合使用 这里的集合必须是Properties集合: public void load(Reader reader):把文件中的数据读取到集合中 public v ...
- Java基础知识强化之IO流笔记65:序列化流 和 反序列化流
1. 什么是 序列化 和 反序列化 ? 序列化 (Serialization):将对象的状态信息转换为可以存储或传输的形式的过程.比如转化为二进制.xml.json等的过程. 在序列化期间,对 ...
随机推荐
- mysql数据类型——时间类型
四种日期格式: 每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值. YEAR 0000 YYYY ...
- web字体格式转换
@font-face { font-family: 'emotion'; src: url('emotion.eot'); /* IE9*/ src: url('emotion.eot?#iefix' ...
- Device.js——检测设备平台、操作系统的Javascript 库
http://segmentfault.com/a/1190000000373735 Device.js 是一个可以让你检测设备的平台,操作系统和方向 JavaScript 库,它会自动在 <h ...
- 练习2 A - ASCII码排序
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description 输入三 ...
- centos下Elasticsearch数据迁移与备份
########### ### 共享创建es官方网站就一句话 ######## 1.下载 文件共享 .. rpm -i http://mirror.symnds.com/distributions ...
- Linux 查看 80 端口的占用情况
lsof -i:端口号 eg: lsof -i:80 lsof -i:21 [root@localhost ~]# lsof -i: COMMAND PID USER FD TYPE DEVICE S ...
- SharePoint 2013 更新多个用户字段(Person or Group)
有时我们需要更新一个用户到Person or Group类型的字段, 当然这个属性允许设置多个用户, 要如何才能添加新的用户到该字段,同时还不影响原始存在的值. 这里我们需要了解 SPFieldUse ...
- bzoj1127: [POI2008]KUP
Description 给一个n*n的地图,每个格子有一个价格,找一个矩形区域,使其价格总和位于[k,2k] Input 输入k n(n<2000)和一个n*n的地图 Output 输出矩形的左 ...
- (转载)50个c/c++源代码网站
C/C++是最主要的编程语言.这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码.这份清单提供了源代码的链接以及它们的小说明.我已 尽力包括最佳的C/C++源代码的网站.这不是一个完整的 ...
- ubuntu下配置protobuf
http://blog.csdn.net/guoyilongedu/article/details/17093811 最近想研究protobuf ,尝试了很多次都没有成功,我用的是ubuntu,在虚拟 ...