`
demojava
  • 浏览: 551317 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

自定义 StringUtil 处理类

    博客分类:
  • JAVA
J# 
阅读更多
  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();
   }
  

}

分享到:
评论

相关推荐

    StringUtil.rar

    `StringUtil`可能包含了一些模板函数,如`join(const T *arr, size_t len, const std::string &delimiter)`,它能将一个数组(支持不同类型的数据,如int、double或自定义类型)按照指定的分隔符连接成一个字符串。...

    C语言实现String字符串及其函数stringUtil

    本项目名为"C语言实现String字符串及其函数stringUtil",主要关注的是如何在C语言环境中自定义处理字符串的函数,以扩展标准库中提供的功能。通过分析`stringUtil.c`源代码和`stringUtil.h`头文件,我们可以了解一些...

    AS3-StringUtil

    《AS3-StringUtil:深入解析字符串处理工具类》 在ActionScript 3(AS3)中,处理字符串是一项常见的任务,而`StringUtil`类则是一个非常实用的工具,它提供了许多方便的方法来优化和简化字符串操作。这篇内容将...

    StringUtil_StringUtil_

    在.NET编程环境中,`StringUtil`通常是指一个自定义的实用工具类,用于处理字符串的各种操作。这个类可能包含了丰富的静态方法,旨在简化和优化对字符串的处理,因为.NET框架的标准库`System.String`虽然功能强大,...

    项目中可能会用到的Util类 如 Date String

    在实际项目中,自定义的Util类还可以根据业务需求定制一些特定的功能,比如日期的计算(如工作日计算、节假日判断)、字符串的加密解密、文件操作等。这些Util类往往遵循单一职责原则,每个方法只做一件事情,使得...

    stringutil:一些Go字符串实用程序

    在Go语言中,`stringutil`通常是指一个自定义的包,包含了一些对字符串操作的实用函数,以方便开发者处理日常编程中的字符串问题。这个标题"stringutil:一些Go字符串实用程序"暗示了我们可能有一个名为`stringutil`...

    java常用util工具类

    首先,`StringUtil`通常是自定义或第三方库中用于处理字符串的工具类。它包含了对字符串的各种操作,如拼接、分割、替换、检查空值、格式化等。例如,`isBlank()`方法可以判断字符串是否为空或仅包含空白字符,`join...

    Util工具类

    1. **Java.lang.StringUtil**:Java内置的字符串工具类,提供诸如字符串空判断、连接、分割、替换等常用功能。 2. **Java.util.DateUtil**:处理日期和时间的工具类,可以进行日期格式化、日期比较、日期计算等操作...

    JAVA自定义异常类

    ### JAVA自定义异常类 #### 一、基本概念与应用场景 在Java编程中,异常处理是一种重要的机制,用于处理程序运行时可能...自定义异常类可以更加精确地捕捉和处理特定的错误情况,有助于提高程序的健壮性和可读性。

    java utils 工具类

    "java utils 工具类"这个主题主要关注Java中那些方便的工具类,特别是关于字符串处理的`StringUtil`。下面我们将深入探讨`StringUtil`类中的相关知识点。 首先,`StringUtil`通常是非官方的命名,因为它并未在Java...

    导出工具类和字符串简易处理工具类和API文档

    本资源提供了一个名为"StringUtil"的自定义工具类,以及一个用于Excel导出的功能。这些工具可以帮助开发者简化代码,提高效率,同时附带了API文档以便理解和使用。 首先,`StringUtil`工具类是一个集成了多种字符串...

    Spring Cloud Gateway的全局异常处理

    以下是一个示例代码片段,展示了如何创建一个自定义的异常处理类`JsonExceptionHandler`: ```java package com.cxytiandi.gateway.exception; import java.util.HashMap; import java.util.Map; import org....

    自定义观察者模式

    在Java标准库中,`java.util.Observable`类和`java.util.Observer`接口提供了内置的观察者模式实现。不过,为了更好地适应业务需求,我们经常需要自定义这两个核心类。 自定义观察者模式时,可以创建一个Subject...

    HttpClientUtil工具类 里面包含GET POST 及返回值处理

    这个文件名可能是HttpClientUtil的一个特定实现或者版本,可能包含了作者自定义的一些特性或优化。具体的功能和用法需要查看源代码才能了解。 总的来说,HttpClientUtil工具类简化了使用HttpClient进行网络请求的...

    java常用工具类的封装jar

    并且在平时开发中会遇到各种各样通用的一些功能,比如对json的处理,对String对象的处理,对Excel文件的处理,MD5加密处理,Bean对象处理等等,这些常用并通用的方法可以被封装成一个个工具类如StringUtil,...

    链表+泛型+反射实现自定义的LinkedList集合类

    首先,链表在Java中的标准实现是`java.util.LinkedList`类,它提供了添加、删除、查找等操作,支持高效地在列表中间插入和删除元素。自定义的LinkedList集合类则是基于链表结构进行的扩展,它允许程序员创建一个动态...

    C#常用工具类代码集合Util(自己工作总结)

    例如,可能会有`StringUtil`来处理字符串,`DateTimeUtil`用于日期时间的格式化和比较,`MathUtil`执行复杂的数学运算,`FileUtil`协助文件的读写操作,以及`HttpClientUtil`处理HTTP请求等。 2. **MJ.Util....

    滚轴选择器(可选日期、自定义的String)

    - **实现方式**:通常使用`java.util.Calendar`类或者`java.time`包下的API来生成日期范围,然后将这些日期作为滚轴选择器的选项。 - **格式化日期**:可以使用`SimpleDateFormat`或`DateTimeFormatter`将日期转换...

Global site tag (gtag.js) - Google Analytics