2019独角兽企业重金招聘Python工程师标准>>>

以下原文代码:

//: io/DirList.java
// Display a directory listing using regular expressions.
// {Args: "D.*\.java"}
import java.util.regex.*;
import java.io.*;
import java.util.*;
public class DirList {public static void main(String[] args) {File path = new File(".");String[] list;if(args.length == 0)list = path.list();elselist = path.list(new DirFilter(args[0]));Arrays.sort(list, String.CASE_INSENSITIVE_ORDER);for(String dirItem : list)System.out.println(dirItem);}
}
class DirFilter implements FilenameFilter {
private Pattern pattern;
public DirFilter(String regex) {pattern = Pattern.compile(regex);
}
public boolean accept(File dir, String name) {return pattern.matcher(name).matches();
}
}
/* Output:
DirectoryDemo.java
DirList.java
DirList2.java
DirList3.java
*/

没用IDE的时候  默认目录 path 为当前路径(class文件) 还是没有结果 因为 String数组list的值全部为文件名(不包括路径)

作者给出的 D.*\.java 匹配不到任何结果

如果参数为 .*\.java ,而且当前目录又恰好有java文件时 正确结果。

使用eclipse

默认path为工程目录

问题关键在于

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

执行这句时 path 还是默认的项目路径

对项目路径筛选? 好像作者原意是筛选D盘吧? 当然跟我们看到的一样没有结果。

以下改动达到同样效果

import java.util.regex.*;
import java.io.*;
import java.util.*;
public class Fuck {
public static void main(String[] args) {File file = new File("D:\\");String[] list;list = file.list(new DirFilter(".*.java"));       //.*表示任意字符(字符数大于1)Arrays.sort(list, String.CASE_INSENSITIVE_ORDER); //按字母分类,在这里可有可无for (String dirItem : list)System.out.println(dirItem);}
}
class DirFilter implements FilenameFilter {private Pattern pattern;public DirFilter(String regex) {pattern = Pattern.compile(regex);}public boolean accept(File dir, String name) {return pattern.matcher(name).matches();}
}
/* Output:
Test.java
*/

模模糊糊看的英文原版,哪里理解错了请大神们指教   0(=.=)0

转载于:https://my.oschina.net/u/2442807/blog/496252

对 Thinking in java 4th Edition I/O DirList.java的疑问相关推荐

  1. JAVA基础(三)——服务器操作系统、Java开发环境、Java技术架构、定义Java类及其命名规范、Java注释方式

    1. 服务器操作系统 当前主流的服务器操作系统则主要分为:Windowsserver.UNIX.Linux.NetWare这四大阵容. (1)Windowsserver作为推广的最好,用户群体最大的服 ...

  2. Java:进化的尽头 by Bruce Eckel 以及Thinking in Java 5th edition 《On Java 8》

    在读Java编程思想之前,上网搜了一下Bruce Eckel的信息,发现了这篇文章和Java编程思想(4th edition)的课后题,仅做参考吧,CSDN上可下载.随后跟踪到了Bruce Eckel ...

  3. 《Hadoop.The.Definitive.Guide.4th.Edition.2015.3》学习笔记

    一.读后感 最近读完了<Hadoop.The.Definitive.Guide.4th.Edition.2015.3>英文第4版,个人感觉这本书是hadoop目前最权威.最全面.最靠谱的书 ...

  4. Algorithms, 4th Edition(算法-第四版)源码使用系统配置

    关于-Algorithms, 4th Edition (算法-第四版)源代码在本地机器的运行配置. 其实关于这个教程的使用已经在 Java Algorithms and Clients 页面中写出,并 ...

  5. Oracle:推迟了的Java Enterprise Edition 8将会在“今年之内”发布

    Oracle一直致力于"在今年年内"推出迟到了的Java Enterprise Edition 8. Oracle:推迟了的Java Enterprise Edition 8将会在 ...

  6. 【翻译】Pro.Silverlight.5.in.CSharp.4th.Edition - 第三章 布局 03

    目录:点击这里 上一篇:[翻译]Pro.Silverlight.5.in.CSharp.4th.Edition - 第三章 布局 02 使用Canvas基于坐标布局 到目前为止我们还剩下Canvas没 ...

  7. Thinking in Java 4th(Java编程思想第四版)文档、源码、习题答案

    Thinking in Java 4th 中.英文两版pdf文档,书中源码及课后习题答案.链接:https://pan.baidu.com/s/1BKJdtgJ3s-_rN1OB4rpLTQ 密码:2 ...

  8. QuickBooks Online For Dummies, 4th Edition 免积分下载

    图书说明: 在云端获取QuickBooks! 为您的小型企业寻找基于云的解决方案?掌握QuickBooks Online的基础知识,这是世界上最流行的快速便捷的移动会计软件!QuickBooks On ...

  9. 跪了跪了!!继Thinking in java 4th 的后续其实是 On Java 8,而不是 Thinking in java 5

    之前购入thinking in java 4th 英文版,部头太大,也是第一次接触oop,业余时间学习,直接上这部书就是坏主意.不过好歹挺过来了,扫了一遍,写了个小安卓APP. 但是很快发现,现在已经 ...

最新文章

  1. ubuntu创建vim php文件,在ubuntu 上配置vim的php开发环境
  2. 2020计算机考研准备,2020考研:什么时候开始准备考研最合适?
  3. 卧底各大程序员圈,才知道什么才是牛逼的程序员!
  4. linux大小写敏感和windows大小写不敏感(忽略大小写)导致的直接拷贝文件文件名冲突问题(需要打tar包再分享)
  5. python request url 转义_Python多线程抓取Google搜索链接网页
  6. 人工智能究竟可以创造什么新的就业机会?
  7. 虚拟机中dns配置好了但是域名ping不同_弱电工程中常用的几个网络命令,学会后轻松变高手...
  8. python柱状图挨在一起_echarts多个柱状图展示问题(bar都挤到一起了)
  9. 导出excel数字前面的0消失_Excel操作中常见的3大坑你遇到过吗?遇到应该这么解决...
  10. Spring_day04--课程安排_回顾SSH框架知识点_SSH框架整合思想
  11. 075 json和pickle模块
  12. C# 判断字符串中文汉字
  13. StyleGAN3 笔记
  14. 高等数学知识点总结——导数定义及性质、微积分、泰勒展开、洛必达法则、函数单调性判断
  15. 公众号绑定开发者流程
  16. C++面向对象(三):类和对象
  17. 运行时异常和受检查异常的区别
  18. Java面试题:数据库优化策略有哪些?
  19. .bxl文件导入Altium Designer的方法,及错误解决
  20. Android 仿大众点评团购购买条浮动效果

热门文章

  1. urlrewrite使用小结
  2. Android APK反编译详解(附图)
  3. c#devexpress GridContorl添加进度条
  4. 云计算公司Zuora提交IPO申请 预计募资1亿美元
  5. 组策略 从入门到精通(十)通过组策略进行软件分发和卸载
  6. 用Servlet获取表单数据
  7. 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest
  8. linux系统开机静态分配ip地址
  9. 前端编程提高之旅(五)----写给大家看的css书
  10. flex版的流程设计器