Java常用类工具
xuguoli_beyondboy
只要笑一笑,没什么过不了。程序员懂得编程之美,也要懂得生活之美,艺术之美,心理之美。
展开
-
文件过滤器
在file类的list方法中可以接受一个FilenameFilter参数,通过该参数可以只列出符合条件的文件,要让定义的过滤器类实现FilenameFilter接口里包含了一个accept(File dir,String name) 方法,该方法将依次对指定File的所欲子目录或者文件进行迭代,如果该方法返回true,则list方法会列出该子目录或者文件(这种是一种典型的命令设计模式)。代码例原创 2015-03-03 10:08:00 · 637 阅读 · 0 评论 -
正则表达式的应用
当我们要处理一条长长的字符对象是,我们可以用Pattern类或者String内带的一些有用的正则表达式方法。 String含有正则表达式常用方法:split(),replace(),replaceAll(),matches()等等。 代码例子:public class Test{ public static void main(String[] args) {原创 2015-04-06 17:49:02 · 870 阅读 · 0 评论 -
Formatter类
C语言中我们常常用printf()风格的格式化输出一些内容,Java推出类似Formatter类来控制输出格式,其格式语法%[argument_index$][flags][width][.precision]conversion(%参数索引,控制对齐符号,宽度,精确度,内容类型,但如果内容是String的话,precision代表的是最大字符长度)。 代码例子:public class原创 2015-04-04 11:03:36 · 772 阅读 · 1 评论 -
进程控制
当你需要在Java内部执行其他操作系统的程序,并且要控制这些程序的输入和输出,一项常见任务是运行程序,并将产生的输出发送到控制台。 代码例子://自定义异常public class OSExecuteException extends RuntimeException { public OSExecuteException(String why) { super(why);原创 2015-04-17 23:44:40 · 530 阅读 · 0 评论 -
函数对象
函数对象是一种携带有一种操作方法的对象(往往是单例对象),它的行为就像是一个可以传递出去的单个方法一样,并且可以拥有在多个调用之间持久化的状态,它类似于策略模式。 代码例子://不同类型函数对象interface Combiner<T> { T combine(T x, T y); }interface UnaryFunction<R,T> { R function(T x); }inter原创 2015-03-09 22:49:20 · 494 阅读 · 0 评论 -
动态类型安全
用一个原生的引用一个具体泛型类型容器对象,往往可以添加别的对象,当从其容器取出元素强转时,才抛出其异常,不好发现问题的所在,这是你可以用Collections的一系类工具(checkedCollection(),checkedList(),checkedMap()等),来检查容器,让你在插入类型不正确对象情况下通过其运行时抛出ClassCastException异常来知道问题所在。 代码例子:pu原创 2015-03-09 00:24:55 · 564 阅读 · 0 评论 -
寻找指定文件
当要在多重路径中的所有文件需找到你需要的一个文件时,可以使用FileVisitor遍历文件和目录。 代码例子:public class FileVisitorTest{ public static void main(String[] args) throws Exception { // 遍历g:\publish\codes\15目录下的所有文件原创 2015-03-04 21:13:17 · 466 阅读 · 0 评论 -
Files文件工具类
Java新的IO流中,提供了一个非常方便的Files操作文件的工具类,其提供了大量便捷的工具方法。 代码例子:public class FilesTest{ public static void main(String[] args) throws Exception { // 复制文件 Files.copy(Paths.get(原创 2015-03-04 21:03:16 · 686 阅读 · 0 评论 -
文件定位写入内容
当我们需要向一个文件指定位置插入内容时,我们可以用一个RandomAccessFile类来实现,思路:程序先把插入点后面的内容读入缓冲区,等把需要插入的数据写入文件后,再将缓冲区的内容追加到文件后面。 代码例子: public class InsertContent { public static void insert(String fileName , long pos原创 2015-03-04 11:40:32 · 566 阅读 · 0 评论 -
字节流转换字符流
输入和输出流体系中提供了两个装换流,是将字节流转换成字符流,其中InputStreamReader将字节输入流转换成字符输入流,OutputStreamWriter将字节输出流转换成字符输出流。(这是一种典型的装饰设计模式)。代码例子:输入字节流转换输入字符流:public class KeyinTest{ public static void main(String[] args原创 2015-03-03 12:56:46 · 2102 阅读 · 0 评论 -
ForkJoinPool类并行处理
我们常常听说CPU拥有多核,但它对执行程序有什么大大的帮助呢?相对于CPU单核,多核CPU可以把一个任务比较大的程序分成几个任务比较小的程序,让这些小程序放到处理器上的多个核心同时处理,最后再把这些执行结果合并起来,这样可以大大提升运行效率,就拿个生活中的例子来描述CPU多核的用处吧:你去大学食堂打饭时,食堂如果仅仅有一个打饭窗口,我们学生是不是要排很长的队伍去等待,直到前面的人打完饭,才轮到你了,原创 2015-03-16 01:07:01 · 4921 阅读 · 0 评论 -
使用Condition类控制线程通信
在开发程序中,当我们常常需要并发处理一下程序来提高运行效率,在保证线程安茜以及执行线程通信情况下,相对于传统JavaObject的线程通信来说,Condition类来控制线程通信可以为多个线程建立不同的对象来唤醒相对应的线程,以减少时间上的浪费,并且保证线程安全。 代码例子:public class Account{ // 显式定义Lock对象 private final Loc原创 2015-03-15 15:54:52 · 557 阅读 · 0 评论 -
遍历整个目录树的文件和目录
在开发中我们常常需要遍历整个目录树,这是我们写一个这样的工具类,以后就方便多了,这个类中可以通过使用local()方法产生由本地目录中的文件构成的File对象数组,或者通过使用walk()方法产生给定目录下的由整个目录树中所有文件构成的List. 代码例子://辅助打印的工具类public class PPrint { public static String pforma原创 2015-04-16 15:23:13 · 2415 阅读 · 0 评论