posts - 262,  comments - 221,  trackbacks - 0
J2SE
【Java基础专题】IO与文件读写---优化搜索程序(01)      摘要: Apache commons CLI是一个开源的,用于处理命令行的工具包。这个包目前的稳定版本是1.2,他非常简单只有20个左右的class,但提供了几乎所以可以用到的命令行功能。它的主页在这里:Apache commons CLI

根据CLI的逻辑,每一个命令行的处理都可以分为3个步骤:定义、解析、交互
①定义:定义命令行的各种选项属性(包括缩写、全写、是否必须、是否带参数、参数个数限制)
②解析:使用解析器对命令行选项列表进行解析
③交互:从解析好的命令行查询用户输入的参数值并进行处理  阅读全文
posted @ 2010-04-02 14:20 Paul Lin 阅读(1054) | 评论 (0)  编辑
【Java基础专题】IO与文件读写---DirectoryWalker和FileFilter的复杂条件使用      摘要: 1.基本功能过滤器
=============================================
①类型:DirectoryFileFilter、FileFileFilter
②大小:EmptyFileFilter、SizeFileFilter
③时间:AgeFileFilter
④名称:NameFileFilter、PrefixFileFilter、SuffixFileFilter、RegexFileFilter、WildcardFileFilter
⑤读写属性:CanReadFileFilter、CanWriteFileFilter
⑥隐藏属性:HiddenFileFilter

2.逻辑关系过滤器
=============================================
①逻辑与:AndFileFilter
②逻辑或:OrFileFilter
③逻辑非:NotFileFilter
④永真/假:TrueFileFilter、FalseFil  阅读全文
posted @ 2010-04-01 17:52 Paul Lin 阅读(3142) | 评论 (1)  编辑
【Java基础专题】IO与文件读写---使用DirectoryWalker和FileFilterUtils进行搜索      摘要: Apache commons IO包中提供了一个可以遍历目录下资源的DirectoryWalker,还有很多的IOFileFilter用于过滤文件目录。下面的例子分别演示了这个功能。

这两个搜索类都是以内部类的方式嵌入客户端的,客户端接收客户的参数,然后通过一个后台线程来进行搜索,等待子线程完成搜索后(join方法),再打印搜索结果。

注意这个过程是可以被cancel的。cancel主要有2种情况。外部cancel:外部线程通过调用内部类的cancel()方法。内部cancel:在handleDirectory、handleFile中主动抛出CancelException。

walk方法在每次执行前、后都会检查当前是否有cancel指令发出(checkIfCancelled ---> handleIsCancelled),如果有那么默认立刻抛出CancelException,然后调用handleCancelled方法。  阅读全文
posted @ 2010-03-31 23:45 Paul Lin 阅读(2526) | 评论 (1)  编辑
【Java基础专题】IO与文件读写---对同步/异步和阻塞/非阻塞的理解      摘要: ①同步的操作,如果在等待的过程不能做别的事情,它是同步+阻塞的。这个也是最常见的
②同步的操作,如果在等待的过程可以做别的事情,它是同步+非阻塞的。
③异步的操作,如果在等待的过程不能做别的事情,它是异步+阻塞的。
④异步的操作,如果在等待的过程可以做别的事情,它是异步+非阻塞的。这个也是最常见的  阅读全文
posted @ 2010-03-10 15:36 Paul Lin 阅读(2763) | 评论 (2)  编辑
【Java基础专题】IO与文件读写---同步/异步与阻塞/非阻塞的区别(转)      摘要: 同步/异步:消息通知机制。是自己主动关注消息还是靠别人通知
阻塞/非阻塞:消息处理机制。等待消息处理完成的过程能否做别的事情  阅读全文
posted @ 2010-03-10 14:54 Paul Lin 阅读(2603) | 评论 (0)  编辑
【Java基础专题】IO与文件读写---使用Apache commons IO包进行资源遍历      摘要: 要使用DirectoryWalker来遍历一个目录并进行相应的操作,步骤如下:

①创建一个继续于DirectoryWalker的类,并在构造方法中调用super();
②定义一个业务入口方法,例如clean。在这个方法中调用walk方法
③覆盖DirectoryWalker类的handleDirectory方法,提供相应的处理逻辑
④覆盖DirectoryWalker类的handleFile方法,提供相应的处理逻辑  阅读全文
posted @ 2010-03-09 00:26 Paul Lin 阅读(3488) | 评论 (1)  编辑
【Java基础专题】IO与文件读写---使用Apache commons IO过滤文件和目录      摘要: 它们可以分为两大类:
①实质性过滤器:例如针对文件的类型,属性,名称,大小进行过滤的过滤器
②过滤器连接器:典型的包括AndFileFilter、OrFileFilter。用于逻辑连接多个过滤器  阅读全文
posted @ 2010-03-09 00:02 Paul Lin 阅读(1331) | 评论 (0)  编辑
【Java基础专题】IO与文件读写---使用Apache commons IO简化文件读写      摘要: FileUtils总体上来说,主要功能有:
※ 资源的创建、删除
※ 资源的复制、移动
※ 资源的读写
※ 资源的比较
※ 资源的过滤
※ 资源的转换  阅读全文
posted @ 2010-03-08 15:07 Paul Lin 阅读(6527) | 评论 (1)  编辑
【Java基础专题】IO与文件读写---使用Apache commons IO包规范文件名      摘要: 使用Apache commons IO包规范文件名  阅读全文
posted @ 2010-03-08 10:56 Paul Lin 阅读(835) | 评论 (0)  编辑
【Java基础专题】IO与文件读写---使用Apache commons io包提高读写效率      摘要: 本文通过对Apache commons io包的input,output子类的源代码研究,来揭示为什么使用commons IO包会在性能上由于JDK自带的IO类。

特别是输出流方面  阅读全文
posted @ 2010-03-04 10:28 Paul Lin 阅读(5610) | 评论 (0)  编辑
【Java基础专题】IO与文件读写---Java的IO流架构      摘要: 使用图例全面展示Java中IO的架构,特别是节点流和过滤流及其之间的转换  阅读全文
posted @ 2010-03-02 09:47 Paul Lin 阅读(4277) | 评论 (3)  编辑
【Java基础专题】编码与乱码(08)---JavaEE防止中文乱码的设置      摘要: 良好的编程习惯,对编码和数据传输流程的清晰认识,规范的配置是确保JavaEE应用不会出现乱码的三大法宝  阅读全文
posted @ 2010-02-24 10:25 Paul Lin 阅读(4254) | 评论 (1)  编辑

Full J2SE Archive

<2024年3月>
252627282912
3456789
10111213141516
17181920212223
24252627282930
31123456

常用链接

留言簿(21)

随笔分类

随笔档案

BlogJava热点博客

好友博客

搜索

  •  

最新评论

阅读排行榜

评论排行榜