📄 utils.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 + -