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. pkg-config相关的常用指令

    pkg-config用途: 查询系统已安装库的基础信息(元信息) 1.查看所有的pkg-config库 pkg-config --list-all --list-all  列出pkg-config路径 ...

  2. sql语句中出现笛卡尔乘积

    没有join条件导致笛卡尔乘积 学过线性代数的人都知道,笛卡尔乘积通俗的说,就是两个集合中的每一个成员,都与对方集合中的任意一个成员有关联.可以想象,在SQL查询中,如果对两张表join查询而没有jo ...

  3. Oracle 精简绿色版客户端的配置

    在项目开发中常常用到Oracle.但Oracle 客户端体积很大.安装后,主要用的就1个功能:TNS配置服务名,偶尔用到SqlPlus.在开发过程中,大量使用Navicate和PL/SQL Devel ...

  4. 【Java】WSDL 简介

    WSDL(网络服务描述语言,Web Services Description Language)是一门基于 XML 的语言,用于描述 Web Services 以及如何对它们进行访问. 什么是 WSD ...

  5. C# IOCP服务器

    C# IOCP服务器 @by  群63438968 这是我写的unity 网络斗地主的服务器源码,本来我想只公开部份服务端代码的,但是为了回报大家的热情,以及曾经和现在的好兄弟,我计划慢慢开源! 告诉 ...

  6. Color the Fence

    Codeforces Round #202 (Div. 2) B:http://codeforces.com/problemset/problem/349/B 题意:给你一些颜料,然后你可以用这些颜料 ...

  7. Task schedule

    hdu4907:http://acm.hdu.edu.cn/showproblem.php?pid=4907 题意:中文题. 题解:这一道水题,自己调了很久,并且没有注意到序列可能是乱序的,wa了好几 ...

  8. Delphi重载,覆盖,多态

    一.override 重载 type TFigure = class procedure Draw; virtual;//(我的理解是)父类中可以使用父类的,子类中使用子类的.与“四”是有区别的. e ...

  9. 【VS调试】C#读写Windows 7注册表时抛出“不允许所请求的注册表访问权”的解决办法

    原文:[VS调试]C#读写Windows 7注册表时抛出"不允许所请求的注册表访问权"的解决办法 项目 - 属性 - 安全性,"使用ClickOnce",修改a ...

  10. ArrayList LinkedList Vector

    ArrayList是基于数组实现的,没有容量的限制. 在删除元素的时候,并不会减少数组的容量大小,可以调用ArrayList的trimeToSize()来缩小数组的容量. ArrayList, Lin ...