当前位置: 首页 > 编程日记 > 正文

对 Thinking in java 4th Edition I/O DirList.java的疑问

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

以下原文代码:

//: 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

相关文章:

WMI技术介绍和应用——Instance/Method Provider

在《WMI技术介绍和应用——事件通知》一文中,我们提到了提供者(Provider)这个概念。我们还是要引入WMI的结构图(转载请指明出于breaksoftware的csdn博客) 我们在1这层的Native C/C里可以看到若干Provider,这…

SSH 组建轻量级架构 附录 -- 遇到的问题和解答

action: nulljava.lang.ClassNotFoundException: org.springframework.web.struts.ContextLoaderPlugIn解决方法:加载 spring.jar 包 报 无法初始化at org.apache.struts.action.ActionServlet.initModulePlugIns(解决方法:删除 asm-2.2.3.jar springda…

TIOBE 1月编程语言排行榜:C语言再度「C 位」出道,Python惜败

整理 | 屠敏来源 | CSDN(ID:CSDNnews)【导读】在 2020 年初雪来临之际,TIOBE 官方在最新发布的 1 月编程语言榜单中为我们最终揭开了「 2019 年度编程语言」的神秘面纱,然意料之外情理之中,获此殊荣的并非是…

my项目的总结2015.8.26编

这已经是上上个星期的事了,现在回顾一下: 负责的模块是"my",更精准的说应该是my里面的个人信息管理 由于项目分域,模块已经分好了,涉及到的只是在现有的基础上解决分域后遗留的历史问题 上点图吧&#xff1a…

WMI技术介绍和应用——Event Provider

在《WMI技术介绍和应用——Instance/Method Provider》一文中,我们介绍了Instance和Method Provider的编写方法。本文我们将介绍更有意思的“事件提供者”。在《WMI技术介绍和应用——事件通知》中,我们曾经提到事件是分为两种:intrinsic eve…

Windows server 2003 IP路由配置

1、静态路由:在静态路由中必须明确指出从源到目标所经过的路径2、默认路由:默认路由是一种特殊的静态路由,为那些在路由表中没有找到明确匹配的路由信息的数据包指定下一步跳地址。在Windows server 2003的计算机上配置默认网关时就为该计算机…

人工智能的下一个前沿:识别“零”和“无”

所有参与投票的 CSDN 用户都参加抽奖活动群内公布奖项,还有更多福利赠送作者 | Max Versace译者 | 夕颜出品 | AI科技大本营(ID:rgznai100)声明:本文为客座文章,仅是为作者的观点,不代表 IEEE Spectrum 或 …

File Operations In Java

2019独角兽企业重金招聘Python工程师标准>>> The “File” class in Java defines many useful methods, here is a program which demonstrates some of these methods. import java.io.*;public class streams {public static void main(String []args){File f1ne…

Cascade RPN,结构的艺术带来极致提升 | NeurIPS 2019

作者 | VincentLee来源 | 晓飞的算法工程笔记(ID: gh_084c810bc839)导读:论文提出Cascade RPN算法来提升RPN模块的性能,该算法重点解决了RPN在迭代时anchor和feature不对齐的问题,论文创新点足,效果也很惊艳…

IIS+PHP+MySQL+Zend Optimizer+GD库+phpMyAdmin安装配置[完整修正实用版]

IISPHPMySQLZend OptimizerGD库phpMyAdmin安装配置[完整修正实用版]IISPHPMySQLZend OptimizerGD库phpMyAdmin安装配置[完整修正实用版][补充]关于参照本贴配置这使用中使用的相关问题请参考关于WIN主机下配置PHP的若干问题解决方案总结这个帖子尽量自行解决,谢谢[url]http://b…

WMI技术介绍和应用——Event Consumer Provider

在《WMI技术介绍和应用——Event Provider》和《WMI技术介绍和应用——接收事件》中,我们展现了如何处理和事件相关的WMI知识。而《WMI技术介绍和应用——接收事件》一文则主要讲解了如何查询事件,这种查询是在我们进程存在时发生的,一旦我们…

shell练习四

2019独角兽企业重金招聘Python工程师标准>>> 模拟linnux登录shell #!/bin/bash echo -n "login:" read name echo -n "passwd:" read passwdif [ $name"aaa" -a passwd"aaa" ]; thenecho "the host and passwd is rig…

WMI技术介绍和应用——总结(完)

断断续续的,历经三年将WMI这个主题给写完了。记得最开始时接触该技术,是因为传统获取CPU序列号的方法总是出错。于是接触了这种已经很老的技术。本着打破砂锅问到底的想法,我决定稍微研究一下,结果越来越深。正好借着年前这点时间…

2020年,大火的Python和JavaScript是否会被取而代之?

作者 | Richard Kenneth Eng 译者 | 明明如月,编辑 | 郭芮 来源 | CSDN(ID:CSDNnews) Python 和 JavaScript 是目前最火的两大编程语言。然而,他们不可能永远屹立不倒。最终,必将像其他编程语言一样跌下神坛…

WaveSwipeRefreshLayout

WaveSwipeRefreshLayout 介绍: 水滴效果的下拉刷新,效果非常不错。 http://itlanbao.com/code/20150815/10000/100423.html 运行效果: 相关代码 android Gallery 图片滚动 BalloonPerformerCountryRankDelightfulMenuDrawableFancyBackground…

Google Test(GTest)使用方法和源码解析——概况

GTest是很多开源工程的测试框架。虽然介绍它的博文非常多,但是我觉得可以深入到源码层来解析它的实现原理以及使用方法。这样我们不仅可以在开源工程中学习到实用知识,还能学习到一些思想和技巧。我觉得有时候思想和技巧是更重要的。(转载请指…

Reddit票选 | 2019年绝对不能错过的机器学习论文

来源 | reddit.com编辑 | 神经星星 神经小兮技术顾问 | 姜汉(openbayes.com)来源 | HyperAI超神经(ID:HyperAI)【导读】回顾 2019 年,人工智能领域时有大事发生,吸引着各界人士的关注。这一年,也…

ASP中的常用服务器检测源码

在写ASP网页时常用的检测代码:服务器现在时间: 引用<% now %>服务器CPU型号: 引用<%Request.ServerVariables("HTTP_UA_CPU")%>当前分辨率: 引用<% Request.ServerVariables("HTTP_UA_PIXELS")%>可显示颜色:[qoute]<%Request.ServerV…

选IDC房时,用脚本截取丢失包和rtt的值作比对

由于业务增长&#xff0c;需要选一个IDC房托管接入。网络质量要求比较高。在IDC给出测试机时&#xff0c;利用smokping来测试&#xff0c;是测出去的包。由于我们在各个地区都有接入机。再从这些接入机去测IDC网络质量&#xff0c;比对指标&#xff1a;丢失的包和rtt返回时延。…

Google Test(GTest)使用方法和源码解析——自动调度机制分析

在《Google Test(GTest)使用方法和源码解析——概况 》一文中&#xff0c;我们简单介绍了下GTest的使用和特性。从这篇博文开始&#xff0c;我们将深入代码&#xff0c;研究这些特性的实现。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; 测试用例的自动保存…

D3D中简单的截图方法 (转)

【ZT】D3D中简单的截图方法 试了下&#xff0c;果然可以。在渲染完所有东东后&#xff08;Present之前&#xff09; 获得BackBuffer表面 然后用D3DX的函数保存 voidScreenShot (char*filename) { IDirect3DSurface9 *tmp NULL; IDirect3DSurface9 *back NULL; //生成固定…

2019年,自动化机器学习AutoML技术还火吗? | BDTC 2019

整理 | 王银出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; 【导读】12 月 5-7 日&#xff0c;由中国计算机学会主办&#xff0c;CCF 大数据专家委员会承办&#xff0c;CSDN、中科天玑协办的中国大数据技术大会&#xff08;BDTC 2019&#xff09;在北京长城饭店隆重…

第一次使用51cto博客

阿梅第一次使用51cto博客&#xff0c;以后将学习中的总结写到这里来。加油。转载于:https://blog.51cto.com/hopit/1690465

Google Test(GTest)使用方法和源码解析——结果统计机制分析

在分析源码之前&#xff0c;我们先看一个例子。以《Google Test(GTest)使用方法和源码解析——概况 》一文中最后一个实例代码为基准&#xff0c;修改最后一个“局部测试”结果为错误。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; class ListTest : publi…

贾扬清感谢信:阿里开源10年,致敬千万开源人

整理 | 夕颜【导读】2019 年 10 月&#xff0c;有人曾根据 www.gharchive.org 的数据整理出一份 2019 年GitHub 开源贡献排行榜&#xff0c;获取 GitHub 2019 年的 PushEvent&#xff0c;通过分析 GitHub 用户提交记录中的邮件地址&#xff0c;分辨其所属组织。从这份榜单上可…

热烈庆祝我国神七发射成功!

热烈庆祝我国神七发射成功&#xff01;

云计算设计模式(十)——守门员模式

云计算设计模式&#xff08;十&#xff09;——守门员模式 通过使用充当客户端和应用程序或服务之间的代理&#xff0c;验证和进行消毒的请求&#xff0c;并将它们之间的请求和数据的专用主机实例保护的应用程序和服务。这可以提供一个额外的安全层&#xff0c;并限制了系统的攻…

“不会Linux,怎么干程序员?”骨灰级工程师:干啥都不行!

说起优秀程序员的必备技能&#xff0c;我想大家都可以说很多&#xff0c;比如&#xff1a;数据结构、算法、数学、编程语言等等。但是&#xff0c;你可能会忽略了每一个程序员都应该掌握的技能&#xff1a;Linux。想一想&#xff0c;我们日常学习、求职、工作场景的中&#xff…

Google Test(GTest)使用方法和源码解析——Listener技术分析和应用

在《Google Test(GTest)使用方法和源码解析——结果统计机制分析》文中&#xff0c;我么分析了GTest如何对测试结果进行统计的。本文我们将解析其结果输出所使用到的Listener机制。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; 解析 源码中&#xff0c;我们…

SSH连接不上Linux的解决方法

SSH连接不上Linux的解决方法: 连续弄了几次&#xff0c;今天早上终于把SSH连接虚拟机连接不通的问题解决了。 先简单说下概要&#xff1a; 主机装的是XP系统&#xff0c;虚拟机用的是red hat Linux。 我用的是nat连接方式是虚拟机内也能上网。 主机是用的校园内寝室共享上网。 …