V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jerryfu
V2EX  ›  Java

Java 常用工具类集合分享

  •  1
     
  •   jerryfu · 2018-06-28 11:52:06 +08:00 · 7516 次点击
    这是一个创建于 2119 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在平时的开发工作中,由于业务需要,实现或收集整理了不少的工具类,主要涉及字符串操作、文件操作和常用的网络操作等。

    都是些很基础的东西,大牛请直接忽略就好,希望能给各位提供一些帮助。

    主要包括 19 个子类:

    captchaCode:验证码图片的生成

    dateAndTime:各种常用日期操作、格式转换等

    decodeAndEncode:常用加解密工具类( AES/DES/RAS/MD5/SHA/BASE64 等)

    download:网络下载文件辅助工具

    excel:excel 表格文件处理(读取、解析)

    file:文件及文件夹工具

    ftp:与 ftp 上传、下载等操作有关

    http:常见 post、get 以及客户端信息获取工具

    json:json 有关(如 json-map 互转)

    math:BigDecimal 及 byte 串转换

    qiniu:七牛云存储辅助上传工具

    qRCode:二维码生成工具

    random:常用随机码生成工具

    sms:阿里大鱼短信辅助工具

    spider:webmagic 爬虫 demo

    string:常用字符串及中文拼音工具

    validate:各种各样的合法性验证工具(身份证、手机号、邮编、URL 等)

    xml:xml 与 map 转换

    zip:tar.gz 以及 zip 文件压缩与解压缩

    用法:clone 或下载到本地后导入 eclipse 即可,请按需裁剪

    欢迎补充,如有错误也请多多指教。

    github 地址: https://github.com/jrhu05/jerryUtil

    另 base64decoder、rsa3des、QRCode、taobao-sdk-jar-auto 这几个 jar 包在 maven 的中央仓库找不到,所以放到了 lib 目录下。

    40 条回复    2019-07-04 19:42:04 +08:00
    xgfan
        1
    xgfan  
       2018-06-28 13:54:16 +08:00   ❤️ 4
    library 不是这样搞的,你这么点东西,37 个 dependency
    光 json 库就引入了 jackson,fastjson,gson
    其他库(七牛,阿里……)引入的也是一大堆
    yanjinbin
        2
    yanjinbin  
       2018-06-28 13:57:33 +08:00   ❤️ 2
    自己用用就好了 不要发出来丢人现眼了
    WHOISYOURDaddy
        3
    WHOISYOURDaddy  
       2018-06-28 13:59:45 +08:00   ❤️ 1
    @yanjinbin #2 传说中的杠精?
    jptx
        4
    jptx  
       2018-06-28 14:06:25 +08:00
    @yanjinbin #2 这些东西对于新手而言非常重要,楼主总结的挺实用的,你居然说丢人现眼,哪来的优越感?怕新手将来抢你饭碗?
    pexcn
        5
    pexcn  
       2018-06-28 14:14:40 +08:00   ❤️ 1
    依赖太多(我也觉得丢人
    yanjinbin
        6
    yanjinbin  
       2018-06-28 14:15:19 +08:00 via iPhone   ❤️ 1
    @WHOISYOURDaddy 没啥就是这种东西,网上一大堆,有分享得必要??
    pexcn
        7
    pexcn  
       2018-06-28 14:16:00 +08:00   ❤️ 1
    pom.xml 也是乱七八糟的,一部分用 space 缩进,一部分用 tab 缩进
    Patrick95
        8
    Patrick95  
       2018-06-28 14:17:36 +08:00   ❤️ 1
    有的人真是没有一点友善度。
    WHOISYOURDaddy
        9
    WHOISYOURDaddy  
       2018-06-28 14:19:55 +08:00   ❤️ 1
    @yanjinbin #6 如八楼所说 我觉得大家可以友善一点 “丢人现眼”觉得不是很合适
    iyangyuan
        10
    iyangyuan  
       2018-06-28 14:21:02 +08:00 via iPhone
    人家都说了大牛直接忽略
    98jiang
        11
    98jiang  
       2018-06-28 14:21:27 +08:00
    谢谢楼主,新手先学习一下
    xgfan
        12
    xgfan  
       2018-06-28 14:27:03 +08:00   ❤️ 3
    @iyangyuan
    @jptx
    大牛直接忽略
    新手更不应该用这种『库』。用哪个库就看哪个库的文档( gvaua,apache-common,jackson ……)
    还有在 V2 没必要纠结这种『友善度』吧,底下一片『感谢楼主』,『谢谢分享』,对 LZ 有什么好处么,搞不好压根都没点开过。
    janus77
        13
    janus77  
       2018-06-28 14:29:41 +08:00
    看了一下发现 2 楼早就被我 B 了……
    specita
        14
    specita  
       2018-06-28 14:51:28 +08:00
    我觉得 LZ 喜欢总结这一点就很好啊
    lockelee
        15
    lockelee  
       2018-06-28 15:07:55 +08:00   ❤️ 1
    hutool 了解一下
    http://hutool.mydoc.io
    jerryfu
        16
    jerryfu  
    OP
       2018-06-28 15:47:23 +08:00
    @xgfan 感谢指正,已经去除了不必要的依赖引用
    jerryfu
        17
    jerryfu  
    OP
       2018-06-28 15:48:14 +08:00
    @pexcn 依赖已优化,格式已调整,感谢批评指正
    jerryfu
        18
    jerryfu  
    OP
       2018-06-28 15:50:49 +08:00
    @xgfan 感谢指正,我的本意并不是说想要做成一个 [库] 或类似的东西,只是平时积累了一些工具类,想着如果有人需要某个功能,但是懒得搜索或者懒得去学具体的库文档,或许能拿来改吧改吧直接能用,能节省点时间。
    wysnylc
        19
    wysnylc  
       2018-06-28 16:00:37 +08:00
    dateUtils apache 时间工具类
    StringUtils apcache
    NumberUtiils 还是 apache
    建议新手多使用 apache 和 google 的东西,这两家都是宝藏,不要乱七八糟用些包,而且很多包都是模仿 apache 和 google 写的而且还写的烂
    xiaowangge
        20
    xiaowangge  
       2018-06-28 17:57:31 +08:00   ❤️ 2
    https://github.com/vipshop/vjtools/tree/master/vjkit

    唯品会 Java 开发基础类库,综合各门各派众多开源类库的精华而成, 让开发人员避免底层代码的重复开发,默认就拥有最佳实践,尤其在性能的方面。
    jennifertxwoodma
        21
    jennifertxwoodma  
       2018-06-28 18:09:01 +08:00
    可怕,自己不行还让人一直友善度?
    真以为这里是草榴所有人都要说“谢谢楼主“?
    thedog
        22
    thedog  
       2018-06-28 18:13:08 +08:00 via Android
    指出问题是一回事,友善是另一回事。你就算懂得多一些,就可以不好好说话了吗,没有教养?
    raysmond
        23
    raysmond  
       2018-06-28 18:38:11 +08:00
    总感觉不像工具类,而是对市面上一些库的 starter 使用示例。有些甚至看起来像是网上抄过来。。。
    jerryfu
        24
    jerryfu  
    OP
       2018-06-28 18:56:54 +08:00 via iPhone
    @raysmond 大部分都是从网上搜集来的,也就是抄的,我只是做整理工作,并没有说全是我写的,面向 google 编程 2333
    wobushizhangsan
        25
    wobushizhangsan  
       2018-06-28 18:57:31 +08:00 via Android
    一直在 hutool
    Quarter
        26
    Quarter  
       2018-06-28 18:58:09 +08:00 via iPhone
    @jennifertxwoodma #21 感觉很怪,友善好像不是==“谢谢楼主”吧,就直接指出问题,比如不推荐使用,什么库不好什么的,这也是在批评指正吧,非要说“丢人现眼”才能算批评指正么,都是什么乱七八糟的逻辑
    acidsweet
        27
    acidsweet  
       2018-06-28 20:48:44 +08:00
    @yanjinbin 做事先做人,写代码也不例外
    peterpei
        28
    peterpei  
       2018-06-28 20:49:59 +08:00 via Android
    多谢:)
    yanjinbin
        29
    yanjinbin  
       2018-06-29 06:06:36 +08:00 via iPhone
    @acidsweet 哦,祝你写一段有道德正义感的代码
    dizhang1109
        30
    dizhang1109  
       2018-06-29 07:06:36 +08:00   ❤️ 1
    作为工具整理的 demo 看起来挺好的。最好能升级一下 maven 到 gradle,maven 快被淘汰了都
    kahlkn
        31
    kahlkn  
       2018-06-29 08:55:51 +08:00
    中肯的评论一下,这些工具就像是公司中要做一个功能,开发人员随手封装的那种(因为类的封装风格和我在自己公司看到的查不多)。确实作为新手去做某些功能时这些类还是非常有用的,比如 ftp 等一些以前我没有玩过的,就可以先 copy 来捣鼓捣鼓,可以快速了解。
    zsxzy
        32
    zsxzy  
       2018-06-29 10:13:07 +08:00
    知道了 vjkit 和 hutool , 感谢
    还有其他说明好类库吗, 老铁们
    aLazarus
        33
    aLazarus  
       2018-07-03 16:32:25 +08:00
    感谢二楼让我提前拉黑
    lcdxiangzi
        34
    lcdxiangzi  
       2018-07-06 10:04:51 +08:00
    @aLazarus 原来 V 网有这个功能的,跟进体验一下。
    k53247l2
        35
    k53247l2  
       2018-07-06 16:35:41 +08:00
    二楼这种专业杠精,直接 block,一路走好,不送,最后感谢楼主的分享,对新手很好,很棒!
    tonyli
        36
    tonyli  
       2018-07-09 11:43:15 +08:00
    @dizhang1109 尝试过 maven 到 gradle,发现 gradle 并没有那么优秀,对于一些小项目可以尝试,对于依赖关系复杂的项目还是 maven 可定制化强一些。java 领域目前很难被 gradle 代替。maven 依旧是构建 java 项目的不二之选!
    zhuawadao
        37
    zhuawadao  
       2018-07-26 15:37:39 +08:00
    @yanjinbin,你生活中是有多不如意,才会在这暴露素质,你不过比人多入行几年,得瑟什么啊
    yanjinbin
        38
    yanjinbin  
       2018-07-27 12:17:18 +08:00 via iPhone
    @zhuawadao 建国后不许成精π_π
    luozic
        39
    luozic  
       2018-09-29 20:40:33 +08:00 via iPhone
    推荐直接用 apache google guava Facebook 这几家的,这个代码可以做参考,一点,工具库没单元测试的?
    godloveplay
        40
    godloveplay  
       2019-07-04 19:42:04 +08:00
    谢谢楼主,我了解到了 vjkit 和 hutool 哈哈哈哈[狗头]
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5042 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 03:57 · PVG 11:57 · LAX 20:57 · JFK 23:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.