开源一个我的Java工具类集合,帮你简化开发工作

更新时间:Feb 12, 2018

在当初刚接触Java时,感觉有时候想找实现一些小功能,但是找不到已实现的简易工具,要么就是这种有相关功能的库,调用起来特别复杂。我呢,是个特别讨厌把简单的事弄复杂的那种人,如果能通过调用一个函数就解决的问题,我是绝对不愿意调用更多一个函数处理这些问题的。

因此,在这样的指导思想下,我把以前参加的很多工程项目,可以重复使用的部分集合成一个工程项目,项目工程放在Github上。项目的开发和整理时间前后间隔了快有2年了吧,这中间也删删改改了很多东西,现在打算推出来给有兴趣的朋友使用,也希望大家在使用的时候,能提出一些意见或者推送一些修改,帮助我一起完善这个工程。

先介绍下这个工程JUtils,它包含对XML文件的解析,简化了时间字符串的调用方式,提供了一个调用MySQL的链接池的实现,提供了一个简化的文本Log日志的管理和调用,堆栈信息的调用查看,简单的TCP/UDP通信封装,以及一个可以端口间通信的简易消息封装格式,正则表达式的简易调用,并提供了常见的匹配模块,HASH计算,另一种方式实现的定时任务,通用工具模块(包含对byte串的分割,复制,整数、浮点数转换等常规工具)以及数据压缩等工具。

如何使用?

首先使用Git把仓库拷贝到本地:

git clone https://github.com/seagochen/JUtils.git

由于工程是使用Eclipse进行管理的,所以你需要在本地安装一个Eclipse,并且在Eclipse上导入这个工程。工程有使用一些其他第三方的库,可能会在未来自己编写库用于替代这些第三方库,但当前如果你导入工程后发现编译提示缺少依赖的Jar文件,那么你需要重新编辑和引用在libs文件夹下的这些第三方依赖库。

通过Eclipse发布命令,可以生成Jar包,或者直接引入到你的工程中,我个人比较推荐使用第二种方法。

使用方法:

其实没什么特别的要求,目前工程是使用JDK 1.8进行编译的,因此一些语法或函数,可能只有在1.8+以上版本才会正常使用,除此之外没什么需要注意的地方。

ArrayUtils这个类为例,它是一个用来把byte串进行拆分的工具。比如,你将两段话合并成在一段内存中,需要在某个处理环节,将数据重新拆分出来。那么就需要使用到这个工具了。

public static void main(String[] args)
{
    byte[] data = { 'h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd' };
    List<byte[]> slices = ArrayUtils.split(data, 0, 0, 5);
    System.out.println(SocketConvert.getString(slices.get(0)));
    System.out.println(SocketConvert.getString(slices.get(1)));
}

这样,就可以快速将helloworld,直接拆分为hello和world两个完全独立的数据单元了。

SocketConvert,是一个用于将常见数据进行转换的工具类,比如将int数据,转换为4个byte,或者将byte转换回Int的工具,数据存储格式以0x1234 -> 0x34 0x12的大端形式进行存储,为了配合这样的存储方式,我自己实现了另一个ByteBuffer类,提供的功能与Java自带的ByteBuffer一致,而且简化了一些函数命令。

其他的一些功能就不详说了,毕竟本人比较懒,你可以Clone下工程后,看看具体的代码实现就行,代码里复杂的调用比较少,应该都是比较容易看明白的。

猜你喜欢

转载自blog.csdn.net/poisonchry/article/details/79317193