`

目录列示器--案例

阅读更多

目录列示器

本实例演示如何得到一个目录下的所有文件列表 .

1.       这里利用了 DirFilter 实现了 FilenameFilter 接口 , 因此必须继承 accept 的方法 .

2.       用到了匹配字符序列与正则表达式指定模式的类 Matcher,Pattern 所以要 java.util.regex 引入 .

实例程序 :<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>

package javaio;

import java.io.*;

import java.util.*;

import java.util.regex.*;

 

public class DirList {

  public static void main(String[] args) {

    File path = new File("c:/");

    String[] list;

    if(args.length == 0){

      list = path.list();

    }

    else{

      // 这里将输入的参数作为过滤因子

      list = path.list(new DirFilter(args[0]));

    }

    for(int i = 0; i < list.length; i++){

      System.out.println(list[i]);

    }

  }

}

 

class DirFilter implements FilenameFilter {

  private Pattern pattern;

  public DirFilter(String regex) {

    pattern = Pattern.compile(regex);

  }

  public boolean accept(File dir, String name) {

    // 判断名为 name 的文件是不是符合过滤条件

    return pattern.matcher(new File(name).getName()).matches();/*matches() 尝试将整个区域 / 与模式匹配。 new File(name).getName() 得到 String 类的 name*/

  }

}

运行结果 :

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /?><shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><lock v:ext="edit" aspectratio="t"><img height="469" alt="Image00003.jpg" src="http://www.blogjava.net/images/blogjava_net/mose2006/%E6%97%A5%E5%8E%86/Image00003.jpg" width="202" border="0"></lock></shapetype>

分享到:
评论

相关推荐

    sharding-jdbc 分库分表示例

    sjdbc-read-write-springboot:Spring Boot版 Sharding JDBC 读写分离示列 sjdbc-db-sharding-springboot:Spring Boot版 Sharding JDBC 垂直拆分(不同的表在不同的库中) sjdbc-db-read-write-sharding-...

    Python代码源码-实操案例-框架案例-利用条形图显示分析数据.zip

    未给出具体的源码,但一个基本的条形图创建示例可能如下所示: ```python import pandas as pd import matplotlib.pyplot as plt # 读取数据 data = pd.read_csv('data.csv') # 分组并计算总和 group_sum...

    Python代码源码-实操案例-框架案例-如何对QTableWidget表格进行数据绑定.zip

    要创建一个QTableWidget,我们需要指定它的行数和列数,如下所示: ```python from PyQt5.QtWidgets import QApplication, QTableWidget app = QApplication([]) table = QTableWidget(3, 4) # 创建一个3行4列的...

    财务报表分析案例--潍柴动力2009.doc

    4. **财务报表附注**提供了报表中未直接列示但对理解财务状况至关重要的信息,如会计政策、非经常性项目和或有负债等。 5. **权益乘数**反映了公司的财务杠杆,即债务融资的程度,乘数越大,杠杆效应越强,财务风险...

    汇编语言实例--案例5数字方阵程序

    例如,一个3x3的数字方阵可能如下所示: ``` 1 2 3 4 5 6 7 8 9 ``` 在汇编语言中,我们需要定义数据结构来存储这些数字,并编写代码来输出它们。在DOS环境下,我们可以利用BIOS中断调用来实现屏幕输出。BIOS中断...

    奔跑的熊大案例.rar

    本案例"奔跑的熊大案例.rar"聚焦于利用CSS来实现动态的动画效果,特别是让一个元素(如熊大的形象)呈现出奔跑的动作。下面将详细介绍如何通过CSS动画技术来实现这一目标。 首先,我们要理解CSS动画的基础。CSS动画...

    51CTO下载-案例部分考前串讲资料

    在实际操作中,如A公司的例子所示,高层管理者往往负责项目启动,他们需要制定清晰的项目目标,分配资源,并确保项目团队理解并接受这些目标。 项目经理的角色不仅是技术领导者,也是沟通协调者,他们需要平衡项目...

    SQLite-Database 使用案例

    这篇教程将深入探讨SQLite数据库在Android应用中的使用案例,适合初学者学习。 首先,理解SQLite的基本概念至关重要。SQLite数据库由一个或多个数据库文件组成,每个文件包含一个或多个表。表由列组成,列定义了...

    虚拟示波器源码

    单独列出的"示波器"可能是指包含所有相关文件的主目录或文件夹,其中可能包含了源代码文件、编译脚本、示例程序、文档等。 7. **编程语言和平台**: 虽然未明确指出,但虚拟示波器源码通常会使用一种或多种编程...

    DDO.rar_12864 示波_51 12864 示波器_51 示波器_ADC0832 12864_adc0832双

    综上所述,这个示波器项目融合了51单片机控制、模拟信号到数字信号的转换、数字信号处理、以及人机交互等多个方面的技术,是一个典型的嵌入式系统设计案例。通过深入理解这些知识点,开发者可以进一步提升在电子设计...

    教育科研-学习工具-CIT具有存储功能的便携式示波器.zip

    2. **技术规格**:详列示波器的技术参数,如带宽、采样率、通道数、分辨率、存储深度等。 3. **操作界面**:展示示波器的显示屏和控制面板,解释各个按钮和旋钮的功能。 4. **使用方法**:指导如何设置和操作示波器...

    如何使用示波器解决LCD控制器调试

    使用长存储示波器在LCD控制器调试中的实际案例表明,这种方法不仅提高了调试效率,还通过精确的时序分析和频率测量,使得调试过程更为直观可靠。由此可以看出,长存储示波器已经成为了工程师们解决LCD显示异常问题的...

    springboot+thymeleaf可运行的案例

    通过阅读源码,你可以了解如何配置SpringBoot以加载Thymeleaf模板,以及如何在控制器中处理请求并返回视图。同时,Thymeleaf模板的使用将让你掌握如何在前端展示动态数据。如果你对任何部分有疑问,记得查看`t.txt`...

    VC++编写的虚拟示波器

    总的来说,这款VC++编写的虚拟示波器融合了计算机硬件通信、数据处理、图形界面设计、多线程编程等多个领域的知识,是学习和实践C++技术的好案例。通过深入研究这个项目,开发者可以提升自己的综合技能,并了解如何...

    《企业会计准则第30号——财务报表列报》讲解.doc

    《企业会计准则第30号——财务报表列报》是规范中国企业编制...案例2中,公司的大额业务招待费应作为单独项目在利润表中列示;案例3和案例4则展示了如何处理固定资产管理以及资产处置的会计处理,符合抵销原则的规定。

    2005年造价工程师《工程造价案例分析》试题及答案.pdf

    单因素敏感性分析图如下所示: 试题二 试题二共包含两个方案:方案一是在原桥基础上加固、扩建,方案二是拆除原桥,在原址建一座新桥。试题要求对两个方案的投资回报率进行比较分析,以便选择合适的投资方案。 ...

    ZM-长期股权投资.zip

    - 在资产负债表上,长期股权投资作为非流动资产项目列示。 - 在利润表中,投资收益体现在“投资收益”或“公允价值变动损益”等科目。 6. **案例分析**: - 通过《ZM-长期股权投资.xls》文件,可以深入理解具体...

    教育科研-学习工具-一种CAN-BUS汽车示教板.zip

    6. **实验与操作**:列出一系列教学实验,指导用户如何操作示教板来理解CAN-BUS通信,如发送和接收数据、故障模拟及诊断等。 7. **应用案例**:提供实际汽车系统中CAN-BUS的应用示例,如发动机管理系统、制动系统、...

Global site tag (gtag.js) - Google Analytics