自定义 StringUtil 处理类

  1. isNumber //判读是不是数字
  2. isDate//判读是不是日期类型
  3. isEmpty//判读是不是 空对象
  4. inputStream2String//根据 InputStream 读取内容
  5. replaceoperationChar //对输入数据库中的回车换行进行处理
  6. operationChar //对输入数据库中的回车换行进行处理
  7. deOperationChar //输出到页面对换行的处理
  8. fixLength //产生固定长度的字符串。
  9. decodeUri //url解密
  10. encodeUri //url加密


import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;


public class StringUtil {
 
 public static boolean isNumber(String string){
  try{
   Double.parseDouble(string);
  }catch(Exception e){
   return false;
  }
  
  return true;  
 }
 
 
    public static boolean isDate(String date,String pattern){
        if (isEmpty(date)){
            return false;
        }
        try{
            DateUtil.parseDate(date, pattern);
        }catch(Exception e){
            return false;
        }
        return true;
       
    }
   
    public static boolean isEmpty(String string){
       
        if ( string==null || "".equals(string.trim())){
            return true;
        }      
       
        return false;
       
    }
   
    public static String inputStream2String(InputStream is){
     BufferedReader in = new BufferedReader(new InputStreamReader(is));
     StringBuffer buffer = new StringBuffer();
     String line = "";
     try {
   while ((line = in.readLine()) != null){
        buffer.append(line);
      }
  } catch (IOException e) {   
   e.printStackTrace();
  }
     return buffer.toString();
 }
 
     /**
     *
     * 对输入数据库中的回车换行进行处理
     */
    public static String replaceoperationChar(String message){
     if(message == null){
      return null;
     }
     char content[] = new char[message.length()];
     message.getChars(0, message.length(), content, 0);
     StringBuffer result = new StringBuffer();
     for(int i = 0; i < content.length;i++){
      switch(content[i]){
      case '\'' :
       result.append("/");
       break;      
      default  :
       result.append(content[i]);
      }
     }
     return result.toString();
    }
   
     public static String replaceoperationWebChar(String message){
     if(message == null){
      return null;
     }
     char content[] = new char[message.length()];
     message.getChars(0, message.length(), content, 0);
     StringBuffer result = new StringBuffer();
     for(int i = 0; i < content.length;i++){
      switch(content[i]){
      case '/' :
       result.append(File.separator);
       break;      
      default  :
       result.append(content[i]);
      }
     }
     return result.toString();
    }
   
    
    /**
     *
     * 对输入数据库中的回车换行进行处理
     */
    public static String operationChar(String message){
     if(message == null){
      return null;
     }
     char content[] = new char[message.length()];
     message.getChars(0, message.length(), content, 0);
     StringBuffer result = new StringBuffer(content.length + 50);
     for(int i = 0; i < content.length;i++){
      switch(content[i]){
      case '\'' :
       result.append("&#039;");
       break;
      case '\"' :
       result.append("&#034;");
       break;
      case '<' :
       result.append("&lt;");
       break;
      case '>' :
       result.append("&gt;");
       break;
      case '&' :
       result.append("&amp;");
       break;
      case ' ' :
       result.append("&nbsp;");
       break;
      case '\n':
       result.append("<br>");
       break;
      default  :
       result.append(content[i]);
      }
     }
     return result.toString();
    }
   
    /**
     *
     */
   public static String deOperationChar(String message){
    if(message == null){
     return null;
    }
   // StringBuffer result = new StringBuffer();
   /**
    * 输出到页面对换行的处理
    */
    message.replaceAll("&lt;", "<");
    message.replaceAll("&gt;", ">");
    message.replaceAll("&amp;", "&");
    message.replaceAll("&quot;","\"");
    message.replaceAll("&nbsp;", " ");
    /**
     * 下面的两个while语句也可以对输出到页面的回车换行进行处理
     * 若用下面的方法则应该屏蔽上面的operationChar(String str)方法
     * 不然会导致有时输出有误
     */
//    while(message.indexOf("\n")!=-1){
//     message = message.substring(0,message.indexOf("\n"))+"<br>"+message.substring(message.indexOf("\n")+1);
//   }
//  while(message.indexOf(" ")!=-1){
//  message = message.substring(0,message.indexOf(" "))+"&nbsp;"+message.substring(message.indexOf(" ")+1);
//   }
//  message.replaceAll("<br&nbsp;/>", "<br>");
    //message.replaceAll("\r\n", "<br />");
   
    return message;
   }
  
   /**
    * 产生固定长度的字符串。
    * 如果src的长度比length参数大,返回原始src,否则将在前(或后)填补padding字符。
    * @param src 源字符串
    * @param length 期望的长度
    * @param padding 填补的字符
    * @param leadingPad 在最前面填补还是在最后面填补。
    * @return 填补以后的字符串
    */
   public static String fixLength(String src, int length, char padding, boolean leadingPad) {
       if (src == null) {
           src = "";
       }
       if (length <= src.length()) {
           return src;
       }
       StringBuilder sb = new StringBuilder(src);
       for (int i = src.length(), j = length; i < j; i++) {
           if (leadingPad) {
               sb.insert(0, padding);
           } else {
               sb.append(padding);
           }
       }
       return sb.toString();
   }
  
   /**
   * url解密
   *
   * @param encodedUrl
   * @return String
   * @throws IOException
   */
   public final static String decodeUri(String encodedUrl) throws IOException {
      String[] url = encodedUrl.replace("|", ",").split(",");
      byte[] urlByte = new byte[url.length];
//      for (int i = 0; i < url.length; i++) {
//       System.out.println(url[i]);
//      }

      for (int i = 0; i < url.length; i++) {
       if (!url[i].equals(""))
        urlByte[i] = Byte.parseByte(url[i]);
      }
      ByteArrayInputStream bin = new ByteArrayInputStream(urlByte);
      DataInputStream din = new DataInputStream(bin);
      String oriStr = din.readUTF();
      din.close();
      bin.close();
      return oriStr;
   }

   /**
   * url加密
   *
   * @param url
   * @return String
   * @throws IOException
   */
   public final static String encodeUri(String url) throws IOException {
      ByteArrayOutputStream bout = new ByteArrayOutputStream();
      DataOutputStream dout = new DataOutputStream(bout);
      dout.writeUTF(url);
      byte[] byteUrl = bout.toByteArray();
      StringBuffer buf = new StringBuffer();
      for (int i = 0; i < byteUrl.length; i++) {
       buf.append(byteUrl[i] + "|");
      }
      dout.close();
      bout.close();
      return buf.toString();
   }
  

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值