需求:需要將給的壓縮包解壓並將裏面的xml指定節點的內容解析到txt,最後將所有內容重新壓縮到指定目錄中
技術點:
1,壓縮解壓(用到開源工具zip4j)
2,xml解析(dom4j的xpath方式)
3,生產exe執行jar(exe4j生成)
用到三個工具(看樣子知名的工具都是4j),其中細節點很多,在很多的小錯誤修正後,在不到兩天的時間,這個滿足需求的工具做好了,搜了不少熱門的帖子尋求到了自己需要的內容,在此感謝。
拆分成三大塊依次自我總結下:
一,解壓和壓縮
小技術點:解壓帶密碼的壓縮包,壓縮包裏還有壓縮包,解壓後刪除壓縮包,生產壓縮包
小結:zip4j工具好使,csnd裏一哥們總結的很好,我參照了很多,http://blog.csdn.net/zhyh1986/article/details/7921376,特此支持下,開通了csdn的vip花積分下載了zip4j的包,官網的不好進。好像不能對指定目錄下的壓縮包進行解壓,裏面的方法都是指定到具體壓縮包名稱的,我這裏是要打成jar包,不能把壓縮包名字寫死,也查過能否在jar外配置 配置文件的方式傳入參數,但是感覺很麻煩,就自己寫了點簡單的代碼實現了,寫死目錄,往目錄下丟壓縮包就可以了。至於壓縮包裏的壓縮包解壓也是自己寫的幾行簡單代碼,沒有直接能拿來用的現成的方法。
二,xml解析
這個很簡單,分兩步,一是用dom4j的xpath方式解析指定節點的內容,二是內容寫到txt,自己寫的幾行簡單代碼
三,exe4j的使用
這裏細節比較多,參考了一遍很不錯的介紹http://blog.csdn.net/luoweifu/article/details/7628006,這哥們介紹的很詳細,但是有幾點需要補充注意下
1,必須運行的是主函數,測試類肯定不行的,會報類似編譯的錯誤
2,
需要在裏面選上64位,不然默認只支持32
3,
默認的是9+,需要jdk9以上,我選擇了never,自己用的只是8
總結:技術拆成成一個個小技術點,差不多就能逐個攻破了