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

📄 utils.java

📁 数据仓库工具
💻 JAVA
字号:
/*
    Copyright (C) 2003  Together
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.
    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.
    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

package org.enhydra.xml;

import java.io.*;
import java.util.*;

/**
 * Utility methods for xml jdbc.
 *
 * @author     Zoran Milakovic
 * @version    $Id: Utils.java,v 1.2 2004/07/22 12:49:38 zeljko Exp $
 */

public class Utils {

  public static String handleQuotedString( String quotedString ) {
    String retVal = quotedString;
    if ( ( retVal.startsWith( "'" ) && retVal.endsWith( "'" ) ) ) {
      if ( !retVal.equals( "''" ) ) {
        retVal = retVal.substring( retVal.indexOf( "'" ) + 1,
                                   retVal.lastIndexOf( "'" ) );
      }
      else {
        retVal = "";
      }
    }
    return retVal;
  }

  /**
   * Replace all occurence of forReplace with replaceWith in input string.
   * @param input
   * @param forReplace
   * @param replaceWith
   * @return String with replaced values
   */
  public static String replaceAll( String input, String forReplace,
                                   String replaceWith ) {
    StringBuffer result = new StringBuffer();
    boolean hasMore = true;
    while ( hasMore ) {
      int start = input.indexOf( forReplace );
      int end = start + forReplace.length();
      if ( start != -1 ) {
        result.append( input.substring( 0, start ) + replaceWith );
        input = input.substring( end );
      }
      else {
        hasMore = false;
        result.append( input );
      }
    }
    if ( result.toString().equals( "" ) )
      return input; //nothing is changed
    else
      return result.toString();
  }

  //Helper methods to work with BinaryStream object.

  /**
   * This method transform binary object to string object
   * @param b is array of bytes which represents binary object
   * @return string representation of binary object
   */
  public static String bytesToHexString( byte[] b ) {
    String hexString = null;
    try {
      if ( b != null ) {
        ByteArrayInputStream is = new ByteArrayInputStream( b );
        hexString = streamToHexString( is );
        return hexString;
      }
      else {
        return null;
      }
    }
    catch ( Exception e ) {
    }
    return hexString;
  }

  /**
   * This method transform string object to binary object (array of bytes)
   * @param val is string representation of binary object
   * @return binary object
   */
  public static byte[] hexStringToBytes( String val ) {
    byte[] buf = new byte[val.length() / 2];
    final char[] hexBytes = {
        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D',
        'E', 'F'
    };
    byte[] hexMap = new byte[256];
    for ( int i = 0; i < hexBytes.length; i++ ) {
      hexMap[hexBytes[i]] = ( byte ) i;
    }
    int pos = 0;
    for ( int i = 0; i < buf.length; i++ ) {
      buf[i] = ( byte ) ( hexMap[val.charAt( pos++ )] << 4 );
      buf[i] += hexMap[val.charAt( pos++ )];
    }
    return buf;
  }

  /**
   *
   * @param is
   * @return String that represent InputStream is.
   * @throws IOException
   */
  public static String streamToHexString( InputStream is ) throws IOException {
    try {
      char[] hexBytes = {
          '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D',
          'E', 'F'};
      int c;
      StringBuffer hexString = new StringBuffer();
      while ( ( c = is.read() ) >= 0 ) {
        hexString.append( hexBytes[ ( c >> 4 ) & 0xf] );
        hexString.append( hexBytes[c & 0xf] );
      }
      return hexString.toString();
    }
    catch ( Exception e ) {
      throw new IOException( e.getMessage() );
    }
  }

}

⌨️ 快捷键说明

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