⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stringnew.java

📁 一个完整的
💻 JAVA
字号:
package com.gforce.currency;

/**
 * <p>Title: 吉力科技办公自动化系统</p>
 * <p>Description: 吉力科技办公自动化系统</p>
 * <p>Copyright: 版权所有 2003 (c) 西安吉力科技发展有限公司  Copyright (c) 2003 GForce Sceince & Technology</p>
 * <p>Company: 西安吉力科技发展有限公司 (GForce Sceince & Technology)</p>
 * @author 马登军
 * @version 1.0
 */
import java.text.*;
import java.util.*;
import java.security.*;
import javax.crypto.*;

public class StringNew {
  /**
   * 创建私有构造函数,防止程序创建该对象
   */
  private StringNew() {
  }

  /**
   * 将从request获取的字符串进行解码
   * @param strValue  解码前的原始字符串
   * @return  解码后的字符串
   */
  public static String RequestGetDecode(String strValue) {
    String strReturnValue = "";
    try {
      strReturnValue = new String(strValue.getBytes("iso8859_1"));
    }
    catch (Exception err) {
      SystemOut.ErrOut("从request获取字符串解码时出错!");
    }
    return strReturnValue;
  }

  /**
   * 对向request设置的字符串变量进行编码
   * @param strValue  编码前的原始字符串
   * @return  编码后的字符串
   */
  public static String RequestSetEncode(String strValue) {
    String strReturnValue = strValue;
    return strReturnValue;
  }

  /**
   * 将从session获取的字符串进行解码
   * @param strValue  解码前的原始字符串
   * @return  解码后的字符串
   */
  public static String SessionGetDecode(String strValue) {
    String strReturnValue = "";
    try {
      //strReturnValue = new String(strValue.getBytes("iso8859_1"));
      strReturnValue = strValue;
    }
    catch (Exception err) {
      SystemOut.ErrOut("从session获取字符串解码时出错!");
    }
    return strReturnValue;
  }

  /**
   * 对向session设置的字符串变量进行编码
   * @param strValue  编码前的原始字符串
   * @return  编码后的字符串
   */

  public static String SessionSetEncode(String strValue) {
    String strReturnValue = "";
    try {
      //strReturnValue = new String(strValue.getBytes("iso8859_1"));
      strReturnValue = strValue;
    }
    catch (Exception err) {
      SystemOut.ErrOut("向session设置字符串编码时出错!");
    }
    return strReturnValue;
  }

  /**
   * 将从数据库中获取的字符串进行解码
   * @param strValue  解码前的原始字符串
   * @return  解码后的字符串
   */
  public static String DbGetDecode(String strValue) {
    String strReturnValue = "";
    try {
      strReturnValue = new String(strValue.getBytes("iso8859_1"));
    }
    catch (Exception err) {
      SystemOut.ErrOut("从数据库获取字符串解码时出错!");
    }
    return strReturnValue;
  }

  /**
   * 对向数据库设置的字符串变量进行编码
   * @param strValue  编码前的原始字符串
   * @return  编码后的字符串
   */
  public static String DbSetEncode(String strValue) {
    String strReturnValue = strValue;
    return strReturnValue;
  }

  /**
   * 将字符串日期转换成制定格式的新日期字符串
   * @param strOldDate  旧的字符串日期
   * @param strNewDateFormat  新的日期字符串格式
   * @return  新的日期字符串
   */
  public static String GetDateString(String strOldDate, String strNewDateFormat) {
    try {
      SimpleDateFormat sdfDateFormat = new SimpleDateFormat(
          "yyyy-MM-dd HH:mm:ss.S");
      if (strOldDate.length() == 10) {
        strOldDate += " 00:00:00.000";
      }
      else if (strOldDate.length() == 13) {
        strOldDate += ":00:00.000";
      }
      else if (strOldDate.length() == 16) {
        strOldDate += ":00.000";
      }
      else if (strOldDate.length() == 19) {
        strOldDate += ".000";
      }
      Date dateOldDate = sdfDateFormat.parse(strOldDate);
      return GetDateString(dateOldDate, strNewDateFormat);
    }
    catch (Exception err) {
      SystemOut.InfoOut("字符串转换日期格式时失败:" + strOldDate + " to " +
                        strNewDateFormat);
      return "";
    }

  }

  /**
   * 将日期转换为制定格式的日期字符串
   * @param dateOldDate   旧的日期
   * @param strNewDateFormat  新的日期字符串格式
   * @return   新的日期字符串
   */
  public static String GetDateString(Date dateOldDate, String strNewDateFormat) {
    try {
      SimpleDateFormat sdDateFormat = new SimpleDateFormat(strNewDateFormat);
      SimpleDateFormat sdfDateFormat1 = new SimpleDateFormat(
          "yyyy-MM-dd HH:mm:ss.S");
      Date dateOldDate1 = sdfDateFormat1.parse("1900-01-01 00:00:00.0");
      String strNewDate = sdfDateFormat1.format(dateOldDate);
      String strOldDate = sdfDateFormat1.format(dateOldDate1);
      if (!strNewDate.equalsIgnoreCase(strOldDate)) {
        return sdDateFormat.format(dateOldDate);
      }
      else {
        return "";
      }
    }
    catch (Exception err) {
      SystemOut.InfoOut("转换日期格式时失败:" + dateOldDate.toString() + " to " +
                        strNewDateFormat);
      return "";
    }
  }

  /**
   * 根据记录总数和每页的记录数计算记录页数
   * @param iRecordCount  记录总数
   * @param iPageSize  每页的记录数
   * @return  记录的页数
   */
  public static int getPageCount(int iRecordCount, int iPageSize) {
    try {
      if (iPageSize < 1) {
        iPageSize = 1;
      }
      return (iRecordCount % iPageSize == 0) ? (iRecordCount / iPageSize) :
          ( (iRecordCount / iPageSize) + 1);
    }
    catch (Exception err) {
      SystemOut.ErrOut("获取页面总数时出错,记录条数=" + iRecordCount + ",页面大小=" + iPageSize +
                       "");
      return 1;
    }
  }

  /**
   * 根据原始密码生成加密过的密码
   * @param strOldPassword 原始密码
   * @return  经过加密的密码
   */
  public static String getEncodePassword(String strOldPassword) {
    String strNewPassword = "";
    try
    {
      byte[] b = strOldPassword.getBytes();
      String stmp = "";
      for (int n = 0; n < b.length; n++) {
        stmp = Integer.toHexString(b[n] & 0xff);
        if (stmp.length() == 1) {
          strNewPassword = String.valueOf(String.valueOf( (new StringBuffer(
              String.valueOf(
              String.valueOf(strNewPassword)))).append("0").append(stmp)));
        }
        else {
          strNewPassword = String.valueOf(strNewPassword) + String.valueOf(stmp);
        }
      }
      strNewPassword = strNewPassword.toUpperCase();
      b = strNewPassword.getBytes();
      strNewPassword = "";
      for (int n = 0; n < b.length; n++) {
        stmp = Integer.toHexString(b[n] & 0xff);
        if (stmp.length() == 1) {
          strNewPassword = String.valueOf(String.valueOf( (new StringBuffer(
              String.valueOf(
              String.valueOf(strNewPassword)))).append("0").append(stmp)));
        }
        else {
          strNewPassword = String.valueOf(strNewPassword) + String.valueOf(stmp);
        }
      }
    }
    catch(Exception err){}
    return strNewPassword;
  }

  /**
   * 根据加密过的密码生成原始密码
   * @param strOldPassword 加密过的密码
   * @return  原始密码
   */
  public static String getDisencodePassword(String strOldPassword) {

    String stmp = "";
    String strNewPassword = "";
    try
    {
      char c[] = new char[strOldPassword.length() / 2];
      for (int n = 0; n < strOldPassword.length() / 2; n++) {
        stmp = strOldPassword.substring(2 * n, 2 * n + 2);
        c[n] += ( (byte) Integer.parseInt(stmp, 16));
      }
      strNewPassword = String.valueOf(c);
      char cc[] = new char[strNewPassword.length() / 2];
      for (int n = 0; n < strNewPassword.length() / 2; n++) {
        stmp = strNewPassword.substring(2 * n, 2 * n + 2);
        cc[n] += ( (byte) Integer.parseInt(stmp, 16));
      }
      strNewPassword = String.valueOf(cc);
    }
    catch(Exception err){}
    return strNewPassword;
  }

  /**
   * 获取两个IDs字符串的交集
   * @param strIDs1 String IDs1
   * @param strIDs2 String IDs2
   * @return String 两个IDs字符串的交集
   */
  public static String getIntersectionOfIDs(String strIDs1,String strIDs2)
  {
    String strTemp = "";
    if(strIDs1.length()<1||strIDs2.length()<1)
    {
      return "";
    }
    else
    {
      if(strIDs1.length()>strIDs2.length())
      {
        strTemp = strIDs1;
        strIDs1=strIDs2;
        strIDs2=strIDs1;
        strTemp = "";
      }
      else
      {

      }
      if(strIDs1.indexOf(",")>=0 && strIDs2.indexOf(",")>=0)
      {
        String strID1[] = strIDs1.split(",");
        strIDs2="," + strIDs2 + ",";
        for(int i = 0; i < strID1.length; i++)
        {
          if(strIDs2.indexOf("," + strID1[i] + ",")>=0)
          {
            strTemp += "," + strID1[i];
          }
          else
          {

          }
        }
      }
      else
      {
        strIDs1 += "," + strIDs1 + ",";
        strIDs2 += "," + strIDs2 + ",";
        if(strIDs1.indexOf(strIDs2)>=0)
        {
          strTemp = strIDs2.substring(1,strIDs2.length()-1);
        }
        else if(strIDs2.indexOf(strIDs1)>=0)
        {
          strTemp = strIDs1.substring(1,strIDs1.length()-1);
        }
        else
        {
          strTemp = "";
        }
      }
    }
    return strTemp;
  }

  /**
   * 获取两个IDs字符串的并集
   * @param strIDs1 String IDs1
   * @param strIDs2 String IDs2
   * @return String 两个IDs字符串的交集
   */
  public static String getMergeOfIDs(String strIDs1,String strIDs2)
  {
    String strTemp = "";
    if(strIDs1.length()<1)
    {
      return strIDs2;
    }
    else if(strIDs2.length()<1)
    {
      return strIDs1;
    }
    else
    {
      if(strIDs1.length()>strIDs2.length())
      {
        strTemp = strIDs1;
        strIDs1=strIDs2;
        strIDs2=strIDs1;
        strTemp = "";
      }
      else
      {

      }
      if(strIDs1.indexOf(",")>=0 && strIDs2.indexOf(",")>=0)
      {
        String strID1[] = strIDs1.split(",");
        strIDs2="," + strIDs2 + ",";
        for(int i = 0; i < strID1.length; i++)
        {
          if(strIDs2.indexOf("," + strID1[i] + ",")<0)
          {
            strIDs2 +=  strID1[i] + ",";
          }
          else
          {

          }
        }
        strTemp = strIDs2;
      }
      else
      {
        strIDs1 += "," + strIDs1 + ",";
        strIDs2 += "," + strIDs2 + ",";
        if(strIDs1.indexOf(strIDs2)>=0)
        {
          strTemp = strIDs1.substring(1,strIDs2.length()-1);
        }
        else if(strIDs2.indexOf(strIDs1)>=0)
        {
          strTemp = strIDs2.substring(1,strIDs1.length()-1);
        }
        else
        {
          strTemp = strIDs1.substring(1,strIDs2.length()-1) + strIDs2.substring(0,strIDs1.length()-1);
        }
      }
    }
    return strTemp;
  }

  /**
   * 从原IDs1字符串中去掉在IDs2中包括的在IDs后得到新的IDs
   * @param strIDs1 String IDs1
   * @param strIDs2 String IDs2
   * @return String 从原IDs1字符串中去掉在IDs2中包括的在IDs后得到的新的IDs
   */
  public static String getSubtractOfIDs(String strIDs1,String strIDs2)
  {
    String strResult = "";

    if(strIDs1.length()<1)
    {
      strResult = "";
    }
    else if(strIDs2.length()<1)
    {
      strResult = strIDs1;
    }
    else
    {
      if(strIDs1.indexOf(",")>=0)
      {
        String strID1[] = strIDs1.split(",");
        for(int i = 0; i < strID1.length; i++)
        {
          if(("," + strIDs2 + ",").indexOf("," + strID1[i] + ",")<0)
          {
            if(i>0)strResult += ",";
            strResult += strID1[i];
          }
          else
          {
          }
        }
      }
      else if(("," + strIDs2 + ",").indexOf("," + strIDs1 + ",")>0)
      {
        strResult = strIDs1;
      }
      else
      {
        strResult = "";
      }
    }
    return strResult;
  }

  /**
   * 获取系统还可以试用的天数:<br>
   * -112 表示软件系统试用期限已到<br>
   * 1000 表示正式版软件系统,可以无限期使用<br>
   * 999 表示系统正在试用期限内,且没有到警戒提示日期内<br>
   * 其他 表示系统还可以试用的天数
   * @return int 系统还可以试用的天数
   */
  public static int getTryDays()
  {
    String strNow = StringNew.GetDateString(new java.util.Date(), "yyyy-MM-dd");
    String strExpDate = StringNew.getDisencodePassword(SystemParament.getParament("expdate"));
    String strMaxAlertDays = StringNew.getDisencodePassword(SystemParament.getParament("maxalertdays"));
    int iMaxAlertDays = 10;
    try
    {
      if(strMaxAlertDays.length()>0)
      {
        iMaxAlertDays = Integer.parseInt(strMaxAlertDays,10);
      }
      if(iMaxAlertDays>60||iMaxAlertDays<0)
      {
        iMaxAlertDays = 10;
      }
    }
    catch(Exception err){}
    if(strExpDate.equalsIgnoreCase("2088-08-08"))
    {
      return 1000;
    }
    else if (strNow.compareTo(strExpDate) > 0)
    {
      SystemOut.ErrOut("试用版软件,试用已经过期,请与029-88453031联系!");
      return -112;
    }
    else
    {
      SimpleDateFormat sdDateFormat = new SimpleDateFormat("yyyy-MM-dd");
      try
      {
        Date dateNow = sdDateFormat.parse(strNow);
        Date dateExpDate = sdDateFormat.parse(strExpDate);
        long lLeftDays = (dateExpDate.getTime() - dateNow.getTime()) / 24l *
            60l * 60l * 1000l;
        if (iMaxAlertDays >= lLeftDays) {
          return (int) lLeftDays;
        }
        else {
          return 999;
        }
      }
      catch(Exception err)
      {
        return -112;
      }
    }
  }

  /**
   * 从字符串中返回Float数值
   * @param strValue String 包含Float数值的字符串
   * @return float Float数值
   */
  public static float getFloatFromString(String strValue)
  {
      return getFloatFromString(strValue,0.0f);
  }
  /**
   * 从字符串中返回Float数值
   * @param strValue String 包含Float数值的字符串
   * @param fDefaultValue float 默认值
   * @return float Float数值
   */
  public static float getFloatFromString(String strValue,float fDefaultValue)
    {
        try
        {
           return Float.parseFloat(strValue);
        }
        catch(Exception err)
        {
            return fDefaultValue;
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -