1. 程式人生 > >開源一個我的Java工具類集合,幫你簡化開發工作

開源一個我的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下工程後,看看具體的程式碼實現就行,程式碼裡複雜的呼叫比較少,應該都是比較容易看明白的。