设为首页收藏本站<<< 抵制 IE6 人人有责 >>>

鼎鼎新网

 找回密码
 立即注册

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

搜索
热搜: 活动乱码
查看: 94|回复: 11

常用Java工具类 [复制链接]


[至尊红钻7级]发帖数量≥500篇 [至尊黄钻9级]威望≥2000点 [至尊蓝钻7级]在线时间≥200小时 [至尊绿钻9级]贡献度≥2000点 [至尊紫钻9级]金币≥2000个 [未点亮至尊粉钻]精华贴数不足5贴 [未点亮至尊黑钻]同城币不足8个

  • TA的每日心情

    2012-4-20 23:13:18
  • 签到天数: 48 天

    连续签到: 1 天

    [LV.5]常住居民I

     等级: Rank: 9Rank: 9Rank: 9
     级别: 管理员
     UID:  1   [未点亮普号显示]钻石不足100个
     威望:  990009
     钻石:  0
     发贴: 532 (0)
     金币: 99120114  
     同城币: 0   充值
     贡献:  99999
     积分: 101200663
     性别: I'm Boy
     阅读权限: 200
     在线时长: 264 小时
     注册:2011-8-22
     最后登录: 2012-5-20
    荣誉勋章
    灌水之王 突出贡献 优秀版主 荣誉管理 论坛元老
    huangyoumin 实名认证  发表于 2011-9-4 19:15:24 |显示全部楼层 |          |
    Ignacio Coloma 说道:作为一个软件开发者,缺乏想象力是最严重的罪过之一。我们经常把事情重复做一遍又一遍,但是我们很少改变这种方式,至少我是这样。经过这些年开发,在我的工具箱里面有了一些每个项目我都需要用到的工具,烦人的重复工作不再是我的事。
    下面这些工具也许你已经用到,让我来仔细介绍它们:
    StringUtils
    这是象面包和奶油一样必须的通用语言库,这个实用工具类包括一些很早以前在String中未包含的重要方法。

    Java代码
    StringUtils.isEmpty( null ) && StringUtils.isEmpty( "" ); // true      
    StringUtils.isBlank("    \t" );                        // true      
    StringUtils.substringAfterLast("foo.bar.baz" , "." );    // "baz"      
    StringUtils.substringBeforeLast("foo.bar.baz" , "." );   // "foo.bar"      
    StringUtils.split("foo.bar.baz" , '.' );                 // { "foo", "bar", "baz" }      
    StringUtils.split("foo,   bar,baz" , ", " );              // { "foo", "bar", "baz" }      
    StringUtils.leftPad("1" , 3 , '0' );                      // "001"      

    IOUtils and FileUtils
    在一种当你需要手动操作多个文件罕见情况下必须具备的工具,这两个工具很相似(FileUtils操作文件,IOUtils操作InputStream和Reader classes),和捆绑常用IO.

    Java代码
    File file1;   
    File file2;  
    InputStream inputStream;  
    OutputStream outputStream;  
      
    // copy one file into another   
    FileUtils.copyFile(file1, file2);  
    IOUtils.copy(inputStream, outputStream);  
      
    // read a file into a String   
    String s1 = FileUtils.readFileToString(file1);  
    String s2 = IOUtils.toString(inputStream);  
      
    // read a file into a list of Strings, one item per line   
    List<String> l1 = FileUtils.readLines(file1);  
    List<String> l2 = IOUtils.readLines(inputStream);  
      
    // put this in your finally() clause after manipulating streams   
    IOUtils.closeQuietly(inputStream);  
      
    // return the list of xml and text files in the specified folder and any subfolders   
    Collection<File> c1 = FileUtils.listFiles(file1, { "xml" , "txt" }, true );   
      
    // copy one folder and its contents into another   
    FileUtils.copyDirectoryToDirectory(file1, file2);  
      
    // delete one folder and its contents   
    FileUtils.deleteDirectory(file1);  

    Google collections
    这是我所知道的最好的扩展实现包,其中一些被社区叫嚣着要加入JDK:

    Java代码
    // create an ArrayList with three arguments   
    List<String> list = Lists.newArrayList("foo" , "bar" , "baz" );   
      
    // notice that there is no generics or class cast,   
    // and still this line does not generate a warning.   
    Set<String> s = Sets.newConcurrentHashSet();  
      
    // intersect and union   are basic features of a Set, if you ask me   
    Set<String> s = Sets.intersect(s1, s2);  
      
    // Example   of multiple values in a Map   
    ListMultimap<String, Validator> validators = new ArrayListMultimap<String, Validator>();   
    validators.put("save" , new RequiredValidator());   
    validators.put("save" , new StringValidator());   
    validators.put("delete" , new NumberValidator());   
      
    validators.get("save" ); // { RequiredValidator, StringValidator }   
    validators.get("foo" );   // empty List (not null)   
    validators.values();    // { RequiredValidator, StringValidator, NumberValidator }   

    java.util.concurrent
    不是每个人都需要这么重的java.util.concurrent,但是很好用:

    Java代码
    // a map that may be modified (by the same or different thread) while being iterated   
    Map<String, Something> repository = new ConcurrentHashMap<String, Something>();   
      
    // same with lists. This one is only available with Java 6   
    List<Something> list = new CopyOnWriteArrayList<Something>();   


    http://ddxw.net/menhu/

    使用道具 举报

    
    [至尊红钻6级]发帖数量≥400篇 [至尊黄钻4级]威望≥100点 [未点亮至尊蓝钻]在线时间不足2小时 [未点亮至尊绿钻]贡献度不足10点 [至尊紫钻9级]金币≥2000个 [未点亮至尊粉钻]精华贴数不足5贴 [未点亮至尊黑钻]同城币不足8个

    升级  45%

  • TA的每日心情
    难过
    2011-11-10 19:36:59
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

     等级: Rank: 3Rank: 3
     级别: 中级会员
     UID:  23   [未点亮普号显示]钻石不足100个
     威望:  286
     钻石:  0
     发贴: 458 (0)
     金币: 2321  
     同城币: 0   充值
     贡献:  0
     积分: 3350
     性别: I'm Girl
     阅读权限: 30
     在线时长: 0 小时
     注册:2011-9-20
     最后登录: 2012-5-15
    Queen 发表于 2011-10-26 13:09:47 |显示全部楼层
    支持~~顶顶~~~  

    使用道具 举报

    
    [至尊红钻5级]发帖数量≥300篇 [至尊黄钻4级]威望≥100点 [未点亮至尊蓝钻]在线时间不足2小时 [未点亮至尊绿钻]贡献度不足10点 [至尊紫钻8级]金币≥1000个 [未点亮至尊粉钻]精华贴数不足5贴 [未点亮至尊黑钻]同城币不足8个

    升级  6.9%

    该用户从未签到

     等级: Rank: 3Rank: 3
     级别: 中级会员
     UID:  39   [未点亮普号显示]钻石不足100个
     威望:  270
     钻石:  0
     发贴: 378 (0)
     金币: 1290  
     同城币: 0   充值
     贡献:  0
     积分: 2207
     性别: I'm 火星人!
     阅读权限: 30
     在线时长: 0 小时
     注册:2011-10-12
     最后登录: 2012-5-17
    dhovu173 发表于 2011-10-29 20:52:48 |显示全部楼层
    支持一下吧  

    使用道具 举报

    
    [至尊红钻3级]发帖数量≥100篇 [未点亮至尊黄钻]威望不足10点 [至尊蓝钻1级]在线时间≥2小时 [未点亮至尊绿钻]贡献度不足10点 [至尊紫钻8级]金币≥1000个 [未点亮至尊粉钻]精华贴数不足5贴 [未点亮至尊黑钻]同城币不足8个

  • TA的每日心情
    奋斗
    2011-11-4 19:46:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

     等级: Rank: 8Rank: 8
     级别: 超级版主
     UID:  15   [未点亮普号显示]钻石不足100个
     威望:  0
     钻石:  0
     发贴: 168 (0)
     金币: 1661  
     同城币: 0   充值
     贡献:  0
     积分: 1820
     性别: I'm Boy
     阅读权限: 150
     在线时长: 3 小时
     注册:2011-9-12
     最后登录: 2011-11-6
    分享秘密 发表于 2011-10-31 19:37:49 |显示全部楼层
    你加油吧  

    使用道具 举报

    
    [至尊红钻5级]发帖数量≥300篇 [至尊黄钻4级]威望≥100点 [未点亮至尊蓝钻]在线时间不足2小时 [未点亮至尊绿钻]贡献度不足10点 [至尊紫钻8级]金币≥1000个 [未点亮至尊粉钻]精华贴数不足5贴 [未点亮至尊黑钻]同城币不足8个

    升级  99.8%

  • TA的每日心情
    慵懒
    2011-10-30 11:55:28
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

     等级: Rank: 2
     级别: 注册会员
     UID:  98   [未点亮普号显示]钻石不足100个
     威望:  281
     钻石:  0
     发贴: 351 (0)
     金币: 1085  
     同城币: 0   充值
     贡献:  0
     积分: 1997
     性别: I'm 火星人!
     阅读权限: 20
     在线时长: 0 小时
     注册:2011-10-30
     最后登录: 2012-5-12
    aa12345 发表于 2011-10-31 19:37:49 |显示全部楼层
    我来看看!谢谢  

    使用道具 举报

    
    [至尊红钻5级]发帖数量≥300篇 [至尊黄钻4级]威望≥100点 [未点亮至尊蓝钻]在线时间不足2小时 [未点亮至尊绿钻]贡献度不足10点 [至尊紫钻6级]金币≥500个 [未点亮至尊粉钻]精华贴数不足5贴 [未点亮至尊黑钻]同城币不足8个

    升级  63.47%

    该用户从未签到

     等级: Rank: 2
     级别: 注册会员
     UID:  122   [未点亮普号显示]钻石不足100个
     威望:  259
     钻石:  0
     发贴: 303 (0)
     金币: 632  
     同城币: 0   充值
     贡献:  0
     积分: 1452
     性别: I'm 火星人!
     阅读权限: 20
     在线时长: 0 小时
     注册:2011-11-4
     最后登录: 2012-5-18
    dofre001 发表于 2012-2-13 03:09:00 |显示全部楼层
    说的真有道理啊!

    使用道具 举报

    
    [至尊红钻4级]发帖数量≥200篇 [至尊黄钻4级]威望≥100点 [未点亮至尊蓝钻]在线时间不足2小时 [未点亮至尊绿钻]贡献度不足10点 [至尊紫钻6级]金币≥500个 [未点亮至尊粉钻]精华贴数不足5贴 [未点亮至尊黑钻]同城币不足8个

    升级  62.4%

    该用户从未签到

     等级: Rank: 2
     级别: 注册会员
     UID:  117   [未点亮普号显示]钻石不足100个
     威望:  255
     钻石:  0
     发贴: 297 (0)
     金币: 630  
     同城币: 0   充值
     贡献:  0
     积分: 1436
     性别: I'm 火星人!
     阅读权限: 20
     在线时长: 0 小时
     注册:2011-11-2
     最后登录: 2012-5-18
    johbr010 发表于 2012-3-16 11:40:45 |显示全部楼层
    我也来顶一下..  

    使用道具 举报

    
    [至尊红钻4级]发帖数量≥200篇 [至尊黄钻4级]威望≥100点 [未点亮至尊蓝钻]在线时间不足2小时 [未点亮至尊绿钻]贡献度不足10点 [至尊紫钻1级]金币≥10个 [未点亮至尊粉钻]精华贴数不足5贴 [未点亮至尊黑钻]同城币不足8个

    升级  26.8%

    该用户从未签到

     等级: Rank: 2
     级别: 注册会员
     UID:  167   [未点亮普号显示]钻石不足100个
     威望:  292
     钻石:  0
     发贴: 293 (0)
     金币: 26  
     同城币: 0   充值
     贡献:  0
     积分: 902
     性别: I'm 火星人!
     阅读权限: 20
     在线时长: 0 小时
     注册:2011-11-8
     最后登录: 2012-5-18
    lorl6877 发表于 2012-4-13 11:57:03 |显示全部楼层
    说的真有道理啊!

    使用道具 举报

    主题浏览脚印 ( 共有 1 位会员浏览过该帖 )
    • admin

    您需要登录后才可以回帖 登录 | 立即注册 人人连接登陆

    GMT+8, 2012-5-20 15:40 , Processed in 0.419015 second(s), 69 queries .

    Archiver|手机版|鼎鼎新网 ( 闽ICP备11017807号-1 )    鼎鼎新闻-ddxw.net腾讯QQ网页在线客服

    Powered by DDXW.NET! X2

    © 2001-2011 DDXW Inc. l=

    回顶部