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))的更多相关文章

  1. Java基础知识强化之IO流笔记06:有return的情况下try catch finally的执行顺序

    1. 给出结论: (1)不管有木有出现异常,finally块中代码都会执行:(2)当try和catch中有return时,finally仍然会执行:(3)finally是在return后面的表达式运算 ...

  2. Java基础知识强化之IO流笔记49:IO流练习之 复制指定目录下指定后缀名的文件并修改名称的案例

    1. 复制指定目录下指定后缀名的文件并修改名称的案例     需求:复制指定目录下的指定文件,并修改后缀名.  • 指定的文件是:.java文件.     • 指定的后缀名是:.jad     • 指 ...

  3. Java基础知识强化之IO流笔记66:Properties的概述 和 使用(作为Map集合使用)

    1. Properties的概述  Properties:属性集合类.是一个可以和IO流相结合使用的集合类. 该类主要用于读取以项目的配置文件(以.properties结尾的文件 和 xml文件). ...

  4. Java基础知识强化之IO流笔记15:递归之删除带内容的目录案例

    1. 需求:递归删除带内容的目录 分析:   (1)封装目录   (2)获取该目录下的所有文件或者文件夹的File数组   (3)遍历该File数组,得到每一个File对象   (4)判断该File对 ...

  5. Java基础知识强化之IO流笔记14:递归之输出指定目录下所有java文件绝对路径的案例

    1. 需求:输出指定目录下的所以.java结尾文件的绝对路径的案例:  分析:  A:封装目录  B:获取该目录下的所有文件和文件夹的File数组  C:遍历这个File数组,得到每一个File对象的 ...

  6. Java基础知识强化之IO流笔记17:FileOutputStream构造方法使用

    1. 可以参照之前写的笔记:   Android(java)学习笔记167:Java中操作文件的类介绍(File + IO流) 2. FileOutputStream(常用的)构造方法: FileOu ...

  7. Java基础知识强化之IO流笔记71:NIO之 NIO的(New IO流)介绍

    1. I/O 简介 I/O ( 输入/输出  ):指的是计算机与外部世界或者一个程序与计算机的其余部分的之间的接口.它对于任何计算机系统都非常关键,因而所有 I/O 的主体实际上是内置在操作系统中的. ...

  8. Java基础知识强化之IO流笔记68:Properties和IO流集合使用

    1. Properties和IO流集合使用 这里的集合必须是Properties集合:  public void load(Reader reader):把文件中的数据读取到集合中  public v ...

  9. Java基础知识强化之IO流笔记65:序列化流 和 反序列化流

    1. 什么是 序列化 和 反序列化 ?     序列化 (Serialization):将对象的状态信息转换为可以存储或传输的形式的过程.比如转化为二进制.xml.json等的过程. 在序列化期间,对 ...

随机推荐

  1. linux 定时执行shell

    第一步:安装 crontab ,命令 yum -y install vixie-cron                扩展:service crond start //启动服务            ...

  2. int*-------int

    a=(int)((int*)0 + 4)求a是多少 大家看图应该明白了  十六进制0x00000010转换为十进制就是16

  3. Start Your Django Project in Nginx with uWsgi

    Step 0:Install A,B,C,blabla needed This can be seen in my another article in the blog.click here(una ...

  4. NameNode元数据的管理机制(三)

    元数据的管理: 第一步:客户端通过DistributedFilesystem 对象中的creat()方法来创建文件,此时,RPC会 通过一个RPC链接协议来调用namenode,并在命名空间中创建一个 ...

  5. Markdown 测试

    量化派业务参考代码 测试二级标题 如果 merchant_id 是外部白条,则执行相关逻辑 if(order.getMerchantId() == Constants.BaitiaoMerchant. ...

  6. intent.addFlags

     一.Activity和Task(栈)的关系 Task就像一个容器,而Activity就相当与填充这个容器的东西,第一个东西(Activity)则会处于最下面,最后添加的东西(Activity)则会在 ...

  7. 【转】SharePoint 2013 stand alone服务器安装

    原文地址:http://www.cnblogs.com/jianyus/archive/2013/02/01/2889653.html  介绍:文章就是SharePoint2013安装过程的图解,包括 ...

  8. 我的HttpClients工具

    import java.io.IOException; import javax.ws.rs.core.MediaType; import org.apache.commons.httpclient. ...

  9. KeilC51使用详解 (一)

    第一节 系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上.结构性.可读性.可维护性上有明显的优势,因而易学易用.用过 ...

  10. Delphi NativeXML 乱码的问题

    我遇到 NativeXML 在它的一个节点的属性上面写入属性,但是当读出的值中包含汉字的时候出现了乱码.检查代码如下 NativeXml := TNativeXml.Create; try Nativ ...