dada_fangfang 发表于 2013-1-25 21:35:38

java工具类--整理(持续更新)

/**   * 将某个日期以固定格式转化成字符串   *      * @param date   * @return String   */    public static String dateToStr(java.util.Date date)    {      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");      String str = sdf.format(date);      return str;    }
    /**   * 判断任意一个整数是否素数   *      * @param n   * @return boolean   */    public static boolean isPrimes(int n)    {      for (int i = 2; i <= Math.sqrt(n); i++)      {            if (n % i == 0)            {                return false;            }      }      return true;    }
    /**   * 将指定byte数组以16进制的形式打印到控制台   *      * @param hint   *            String   * @param b   *            byte[]   * @return void   */    public static void printHexString(String hint, byte[] b)    {      System.out.print(hint);      for (int i = 0; i < b.length; i++)      {            String hex = Integer.toHexString(b & 0xFF);            if (hex.length() == 1)            {                hex = '0' + hex;            }            System.out.print(hex.toUpperCase() + " ");      }      System.out.println("");    }

/**   * 人民币转成大写   *      * @param value   * @return String   */    public static String hangeToBig(double value)    {      char[] hunit = { '拾', '佰', '仟' }; // 段内位置表示      char[] vunit = { '万', '亿' }; // 段名表示      char[] digit = { '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖' }; // 数字表示      long midVal = (long) (value * 100); // 转化成整形      String valStr = String.valueOf(midVal); // 转化成字符串      String head = valStr.substring(0, valStr.length() - 2); // 取整数部分      String rail = valStr.substring(valStr.length() - 2); // 取小数部分      String prefix = ""; // 整数部分转化的结果      String suffix = ""; // 小数部分转化的结果      // 处理小数点后面的数      if (rail.equals("00"))      { // 如果小数部分为0            suffix = "整";      }      else      {            suffix = digit + "角" + digit + "分"; // 否则把角分转化出来      }      // 处理小数点前面的数      char[] chDig = head.toCharArray(); // 把整数部分转化成字符数组      char zero = '0'; // 标志'0'表示出现过0      byte zeroSerNum = 0; // 连续出现0的次数      for (int i = 0; i < chDig.length; i++)      { // 循环处理每个数字            int idx = (chDig.length - i - 1) % 4; // 取段内位置            int vidx = (chDig.length - i - 1) / 4; // 取段位置            if (chDig == '0')            { // 如果当前字符是0                zeroSerNum++; // 连续0次数递增                if (zero == '0')                { // 标志                  zero = digit;                }                else if (idx == 0 && vidx > 0 && zeroSerNum < 4)                {                  prefix += vunit;                  zero = '0';                }                continue;            }            zeroSerNum = 0; // 连续0次数清零            if (zero != '0')            { // 如果标志不为0,则加上,例如万,亿什么的                prefix += zero;                zero = '0';            }            prefix += digit - '0']; // 转化该数字表示            if (idx > 0)                prefix += hunit;            if (idx == 0 && vidx > 0)            {                prefix += vunit; // 段结束位置应该加上段名如万,亿            }      }      if (prefix.length() > 0)            prefix += '圆'; // 如果整数部分存在,则有圆的字样      return prefix + suffix; // 返回正确表示    }

    /**   * 全角字符转半角字符   *      * @param QJStr   * @return String   */    public static final String QJToBJChange(String QJStr)    {      char[] chr = QJStr.toCharArray();      String str = "";      for (int i = 0; i < chr.length; i++)      {            chr = (char) ((int) chr - 65248);            str += chr;      }      return str;    }

    /**      * 根据指定方法的参数去构造一个新的对象的拷贝并将他返回   * @param obj 原始对象   * @return 新对象   * @throws NoSuchMethodException         * @throws InvocationTargetException         * @throws IllegalAccessException         * @throws InstantiationException         * @throws SecurityException         * @throws IllegalArgumentException         */    @SuppressWarnings("unchecked")    public static Object copy(Object obj) throws IllegalArgumentException, SecurityException, InstantiationException, IllegalAccessException,                  InvocationTargetException, NoSuchMethodException    {      //获得对象的类型            Class classType = obj.getClass();      //通过默认构造方法去创建一个新的对象,getConstructor的视其参数决定调用哪个构造方法            Object objectCopy = classType.getConstructor(new Class[]{}).newInstance(new Object[]{});      //获得对象的所有属性            Field[] fields = classType.getDeclaredFields();      for(int i = 0; i < fields.length; i++)      {            //获取数组中对应的属性                Field field = fields;            String fieldName = field.getName();            String stringLetter = fieldName.substring(0, 1).toUpperCase();            //获得相应属性的getXXX和setXXX方法名称                String getName = "get" + stringLetter + fieldName.substring(1);            String setName = "set" + stringLetter + fieldName.substring(1);            //获取相应的方法                Method getMethod = classType.getMethod(getName, new Class[]{});            Method setMethod = classType.getMethod(setName, new Class[]{field.getType()});            //调用源对象的getXXX()方法                Object value = getMethod.invoke(obj, new Object[]{});            //调用拷贝对象的setXXX()方法                setMethod.invoke(objectCopy, new Object[]{value});      }      return objectCopy;    }

MySQL:      String Driver="com.mysql.jdbc.Driver";    //驱动程序    String URL="jdbc:mysql://localhost:3306/db_name";    //连接的URL,db_name为数据库名      String Username="username";    //用户名    String Password="password";    //密码    Class.forName(Driver).new Instance();    Connection con=DriverManager.getConnection(URL,Username,Password);Microsoft SQL Server 2.0驱动(3个jar的那个):    String Driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";    //连接SQL数据库的方法    String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name";    //db_name为数据库名    String Username="username";    //用户名    String Password="password";    //密码    Class.forName(Driver).new Instance();    //加载数据可驱动    Connection con=DriverManager.getConnection(URL,UserName,Password);    //Microsoft SQL Server 3.0驱动(1个jar的那个): // 老紫竹完善    String Driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";    //连接SQL数据库的方法    String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name";    //db_name为数据库名    String Username="username";    //用户名    String Password="password";    //密码    Class.forName(Driver).new Instance();    //加载数据可驱动    Connection con=DriverManager.getConnection(URL,UserName,Password);    //Sysbase:    String Driver="com.sybase.jdbc.SybDriver";    //驱动程序    String URL="jdbc:Sysbase://localhost:5007/db_name";    //db_name为数据可名    String Username="username";    //用户名    String Password="password";    //密码    Class.forName(Driver).newInstance();      Connection con=DriverManager.getConnection(URL,Username,Password);Oracle(用thin模式):    String Driver="oracle.jdbc.driver.OracleDriver";    //连接数据库的方法    String URL="jdbc:oracle:thin:@loaclhost:1521:orcl";    //orcl为数据库的SID    String Username="username";    //用户名    String Password="password";    //密码    Class.forName(Driver).newInstance();    //加载数据库驱动    Connection con=DriverManager.getConnection(URL,Username,Password);    PostgreSQL:    String Driver="org.postgresql.Driver";    //连接数据库的方法    String URL="jdbc:postgresql://localhost/db_name";    //db_name为数据可名    String Username="username";    //用户名    String Password="password";    //密码    Class.forName(Driver).newInstance();      Connection con=DriverManager.getConnection(URL,Username,Password);DB2:    String Driver="com.ibm.db2.jdbc.app.DB2.Driver";    //连接具有DB2客户端的Provider实例    //String Driver="com.ibm.db2.jdbc.net.DB2.Driver";    //连接不具有DB2客户端的Provider实例    String URL="jdbc:db2://localhost:5000/db_name";    //db_name为数据可名    String Username="username";    //用户名    String Password="password";    //密码    Class.forName(Driver).newInstance();      Connection con=DriverManager.getConnection(URL,Username,Password);Informix:    String Driver="com.informix.jdbc.IfxDriver";      String URL="jdbc:Informix-sqli://localhost:1533/db_name:INFORMIXSER=myserver";    //db_name为数据可名    String Username="username";    //用户名    String Password="password";    //密码    Class.forName(Driver).newInstance();      Connection con=DriverManager.getConnection(URL,Username,Password);JDBC-ODBC:    String Driver="sun.jdbc.odbc.JdbcOdbcDriver";    String URL="jdbc:odbc:dbsource";    //dbsource为数据源名    String Username="username";    //用户名    String Password="password";    //密码    Class.forName(Driver).newInstance();      Connection con=DriverManager.getConnection(URL,Username,Password);
页: [1]
查看完整版本: java工具类--整理(持续更新)