博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 帮助类
阅读量:6158 次
发布时间:2019-06-21

本文共 8926 字,大约阅读时间需要 29 分钟。

hot3.png

package com.quincy.util;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.lang.reflect.Field;import java.math.BigDecimal;import java.net.URL;import java.text.DecimalFormat;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Map.Entry;import java.util.Properties;/** *  * @author Quincy * */public class UtilHandler {  public static String QQ ; public static String URLMAIL ; public static String mailUserName ; public static String mailUserPwd ;  //生成字符串 //检测字符串是否为空 //检测对象是否为空 //生成随机数 //格式化数据 //格式化日期 //BigDecimel //日期转换为String类型 //yyyy-MM-dd HH:mm:ss SSS年月日   时分秒 毫秒 /**  * 为空返回false  * 不为空返回true  * @param strs  * @return  */ public static boolean checkString(String...strs){     if(strs != null && strs.length > 0){        for(String str : strs){           if(str == null || str.trim().equals("")){               return false;           }        }     }     return true; } /**  * 把传入的日期格式化为字符串  * @param date  * @param flag 有毫秒数  * @return  */ public static String getStringDate(Date date,boolean flag){      if(flag){       SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss SSS");       return sdf.format(date);      }else{       SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");       return sdf.format(date);      }  } /**  * 生成yyyy-MM-dd HH:mm:ss格式的日期  * @param date  * @return  */ public static String getStringDate(Date date){      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");      return sdf.format(date); } /**  *   * @param date  * @return  */ public static String getString(Date date){      SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");      return sdf.format(date); }  /**  * 生成随机数  * 默认从0开始  * @param length 随机数的长度  * @param end 结束的数字  * @return  */ public static StringBuffer getRandom(int length,int end){      StringBuffer sb = new StringBuffer();      for (int i = 0; i < length; i++) {          int num = (int)(Math.random()*end);          sb.append(num);       }      return sb; }  /**  *   * @param start 起始数  * @param length 产生随机数字的长度  * @param end  结束数  * @return  */ public static StringBuffer getRandom(int start,int length,int end){      StringBuffer sb = new StringBuffer();      for (int i = 0; i < length; i++) {          int num = (int)(Math.random()*end) + start;          sb.append(num);       }      return sb; }  /**  * 数字格式化  * @param args  */ public static Object formatNumber(Object num){      DecimalFormat df = new DecimalFormat("###,###");      return df.format(num); }  /**  * 数字格式化,保留小数点后边的几位  * @param args  */ public static Object formatNumberHaveDecimal(Object num,int length){      StringBuffer str = new StringBuffer();      for(int i = 0;i < length;i ++){         str.append("#");      }      DecimalFormat df = new DecimalFormat("###,###." + str);      return df.format(num); } /**  * 位数不够补0  * @param num  * @param length  * @return  */ public static Object formatNumberByZero(Object num,int length){      StringBuffer str = new StringBuffer();      for(int i = 0;i < length;i ++){         str.append("0");      }      DecimalFormat df = new DecimalFormat("###,###." + str);      return df.format(num); }  /**  * 两个大数子相加  * @param str1  * @param str2  * @return  */ public static BigDecimal addBigDecimal(String str1,String str2){      BigDecimal big = new BigDecimal(str1);      BigDecimal smail = new BigDecimal(str2);      BigDecimal result = big.add(smail);      return result; }  /**  * 两个大数字相减  * @param str1  * @param str2  * @return  */ public static BigDecimal subtractBigDecimal(String str1,String str2){      BigDecimal big = new BigDecimal(str1);      BigDecimal smail = new BigDecimal(str2);      BigDecimal result = big.subtract(smail);      return result; }  /**  * 两个大数字乘  * @param str1  * @param str2  * @return  */ public static BigDecimal multiplyBigDecimal(String str1,String str2){      BigDecimal big = new BigDecimal(str1);      BigDecimal smail = new BigDecimal(str2);      BigDecimal result = big.multiply(smail);      return result; }  /**  * 两个大数字相除  * @param str1  * @param str2  * @return  */ public static BigDecimal divideBigDecimal(String str1,String str2){      BigDecimal big = new BigDecimal(str1);      BigDecimal smail = new BigDecimal(str2);      //除法报错(无法整除),确定要保留的小数位      BigDecimal result = big.divide(smail,4,BigDecimal.ROUND_HALF_UP);              return result; }  /**  * 两个大数字相除  * @param str1  * @param str2  * @param length 设置保留的小数点之后的位数  * @return  */ public static BigDecimal divideBigDecimal(String str1,String str2,int length){      BigDecimal big = new BigDecimal(str1);      BigDecimal smail = new BigDecimal(str2);      //除法报错(无法整除),确定要保留的小数位      BigDecimal result = big.divide(smail,length);      return result; }  public static String myNumber(int length,int number){      String strs = getString(new Date()) + getRandom(length,number).toString();      return strs; } /**  *   * 如果要处理多个properties文件  * @param propertiesName  */ public static void readProperties(String...propertiesName) {      System.out.println("加载相关资源文件开始!");      Properties properties = new Properties();      FileInputStream in = null;      try {           //循环是为了处理对个properties文件           for(int i = 0;i < propertiesName.length ; i ++){              URL urlPath = UtilHandler.class.getClassLoader().getResource(propertiesName[i]);              properties.load(new FileInputStream(new File(urlPath.getFile())));              getValue(properties);           }      } catch (FileNotFoundException e) {           e.printStackTrace();      } catch (IOException e) {           e.printStackTrace();      } finally {           try {              if (in != null) {                 in.close();              }           } catch (IOException e) {              e.printStackTrace();           }       } }  /**  * 获取Properties文件  * @param propertiesName  */ public static void readProperties(String propertiesName){      System.out.println("加载相关资源文件开始!");      Properties  properties = new Properties();      FileInputStream in = null;         try {            URL urlPath = UtilHandler.class.getClassLoader().getResource(propertiesName);            properties.load(new FileInputStream(new File(urlPath.getFile())));            getValue(properties);         } catch (FileNotFoundException e) {              e.printStackTrace();         } catch (IOException e) {              e.printStackTrace();         }finally{         try {            if(in != null){               in.close();            }         } catch (IOException e) {              e.printStackTrace();         }      }}   /**    * 由传入的Properties文件中的key获取对应的value    * @param key    * @return     */  public static void getValue(Properties properties){          for(Entry
 key : properties.entrySet()){            try {                String myKey = (String)key.getKey();                Class
 clazz = Class.forName("com.quincy.util.UtilHandler");                Field[] fields = clazz.getFields();                for(Field f: fields){                    try {                        if(myKey.toLowerCase().equals(f.getName().toLowerCase())){                            f.set(f.getName(), key.getValue());                        }                    } catch (Exception e) {                        e.printStackTrace();                    }                 }            } catch (ClassNotFoundException e) {             e.printStackTrace();            }       } }  Calendar c = new GregorianCalendar();  Calendar cs = new GregorianCalendar(1990,11,2);  public static String formatDuring(long mss) {         long days = mss / (1000 * 60 * 60 * 24);         long hours = (mss % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60);         long minutes = (mss % (1000 * 60 * 60)) / (1000 * 60);         long seconds = (mss % (1000 * 60)) / 1000;         return " days:"+ days + " hours :" + hours + " minutes " + minutes +                  + " seconds "+ seconds;     }  /**  *   * @param args  */    public static void main(String[] args) {          /*String str = getString(new Date());     System.out.println(str);     System.out.println(formatNumberByZero(12456898798.14,5));     System.out.println(myBigDecimal("13.1","2.25"));     StringBuffer sb = getRandom(8,10);          System.out.println(Integer.valueOf(sb.toString()) + "============");     System.out.println(myNumber(5,10));*/          /**      * 2014 04 25 23 49 57 329 60152      * 2014 04 25 23 50 26 172 68544      * 2014 04 25 23 50 35 432 60071      * 2014 04 25 23 51 47 224 88742      * 2014 04 25 23 52 28 947 76036526      */          readProperties("resources.properties");     System.out.println(QQ);     System.out.println(URLMAIL);     System.out.println(mailUserName);     System.out.println(mailUserPwd + " +++++++++");          System.out.println(divideBigDecimal("1.23","5.69"));      }}

转载于:https://my.oschina.net/u/1458246/blog/268819

你可能感兴趣的文章
好记心不如烂笔头,ssh登录 The authenticity of host 192.168.0.xxx can't be established. 的问题...
查看>>
使用addChildViewController手动控制UIViewController的切换
查看>>
Android Fragment应用实战
查看>>
SQL Server查询死锁并KILL
查看>>
内存或磁盘空间不足,Microsoft Office Excel 无法再次打开或保存任何文档。 [问题点数:20分,结帖人wenyang2004]...
查看>>
委托到Lambda的进化: ()=> {} 这个lambda表达式就是一个无参数的委托及具体方法的组合体。...
查看>>
apache 伪静态 .htaccess
查看>>
unity3d 截屏
查看>>
ASP.NET MVC学习之控制器篇
查看>>
MongoDB ServerStatus返回信息
查看>>
分析jQuery源码时记录的一点感悟
查看>>
android中的textview显示汉字不能自动换行的一个解决办法
查看>>
程序局部性原理感悟
查看>>
leetcode 41. First Missing Positive
查看>>
Golang中WaitGroup、Context、goroutine定时器及超时学习笔记
查看>>
css H5端多行文本实现省略号
查看>>
leetcode15 3Sum 从数组中找到三个整数,它们的和为0
查看>>
UIView 动画进阶
查看>>
如何在Kubernetes上运行Apache Flink
查看>>
GitHub推出Scientist,帮助开发者重构关键路径代码
查看>>