com.ejie.r01f.util
Class StringUtils

java.lang.Object
  extended bycom.ejie.r01f.util.StringUtils

public class StringUtils
extends java.lang.Object

Utilidades con cadenas de texto


Constructor Summary
StringUtils()
          Creates new StringUtils
 
Method Summary
static java.lang.String capitalizeFirstLetter(java.lang.String str)
          Capitaliza la primera letra de una cadena
static java.lang.String decodeUTF(java.lang.String encodedStr)
          Decodifica una cadena HTML con caracteres expresados en forma de entitie.
static java.lang.String decodeXMLEntities(java.lang.String encodedStr)
          Decodifica una cadena HTML con caracteres expresados en forma de entitie.
static java.lang.String encodeQuoteUTF(java.lang.String str)
          Codifica lo mismo que el método encodeUTF más las comillas simples y dobles
static java.lang.String encodeUTF(java.lang.String str)
          Codifica una cadena en HTML
static java.lang.String encodeXMLEntities(java.lang.String xml)
          Codifica carateres especiales XML
static java.lang.String filterChars(java.lang.String strToBeFiltered, char[] charsToFilter, java.lang.String[] charsFiltered)
          Filtra en la cadena de entrada la aparición de los caracteres del array charsToFilter y los sustituye por el equivalente en el array charsFiltered Es de utilidad especialmente para filtrar caracteres especiales para los interpretes de HTML como los caracteres '>' o '<' que se sustituyen por '>' y '<'
static char[] getCharArray(char character, int length)
          Metodo auxiliar que obtiene un array de chars con un caracter
static int getNumberOfTokens(java.lang.String inStr, java.lang.String sep)
          Devuelve el numero de tokens obtenidos de tokenizar la cadena que se pasa como parametro con el separador que también se pasa como parámetro
static java.lang.String getToken(java.lang.String inStr, java.lang.String sep, int pos)
          Tokeniza una cadena y devuelve el token que ocupa la posición que se pasa
static boolean isEmptyString(java.lang.String literal)
           Método para validar si un String es vacío, no se consideran espacios en blanco.
static boolean isEmptyStringBuffer(java.lang.StringBuffer sb)
           Método para validar si un StringBuffer es vacío, no se consideran espacios en blanco.
static java.lang.String[][] loadColumnsFromFile(java.lang.String filePath, char delim)
          Carga un fichero con columnas delimitadas: col1:col2:col3 col1:col2:col3 ....
static java.lang.String loadFromFile(java.io.File f)
          Carga una cadena a partir de un fichero.
static java.lang.String loadFromFile(java.io.File f, java.lang.String encoding)
          Carga una cadena a partir de un fichero y la encodea
static java.lang.String loadFromFile(java.lang.String filePath)
          Carga una cadena a partir de un fichero
static java.lang.String loadFromFile(java.lang.String filePath, java.lang.String encoding)
          Carga una cadena a partir de un fichero y la encodea
static java.lang.String loadFromFileRaw(java.io.File f)
          Lectura completa del fichero(y caracteres especiales), incluso retornos de carro
static java.lang.String loadFromReader(java.io.Reader r)
          Lee una cadena de un reader
static java.lang.String loadFromReader(java.io.Reader r, java.lang.String encoding)
          Lee una cadena de un reader y la encodea
static java.lang.String loadFromStream(java.io.InputStream is)
          Lee una cadena de un inputStream
static java.lang.String loadFromStream(java.io.InputStream is, java.lang.String encoding)
          Lee una cadena de un InputStream y encodea el resultado
static java.lang.String lPadWithChar(java.lang.String str, char character, int length)
          Rellena por la izquierda una cadena con el caracter indicado hasta la longitud tambien indicada
static void main(java.lang.String[] args)
          Main Method
static java.lang.String printArrayStrings(java.lang.String[] input)
          Retorna una cadena formateada del array de strings.
static java.lang.String replaceString(java.lang.String inStr, java.lang.String replacedStr, java.lang.String replacingStr)
          Sustituye una cadena por otra dentro de un string
static java.lang.String replaceVariableValues(java.lang.String inStr, char varDelim, java.util.Map varValues)
          Sustituye una cadena que contiene variables por sus valores Las variables estan delimitadas por caracter marcador varDelim, pej: $varName$ NOTA: Ojo!!
static java.lang.String replaceVariableValues(java.lang.String inStr, char varDelim, java.util.Map varValues, boolean deep)
          Sustituye una cadena que contiene variables por sus valores Las variables estan delimitadas por caracter marcador varDelim, pej: $varName$ NOTA: Ojo!!
static java.lang.String replaceVariableValues(java.lang.String inStr, java.lang.String varDelim, java.util.Map varValues)
          Sustituye una cadena que contiene variables por sus valores.
static java.lang.String replaceVariableValues(java.lang.String inStr, java.lang.String varDelim, java.util.Map varValues, boolean deep)
          Sustituye una cadena que contiene variables por sus valores Las variables estan delimitadas por caracter marcador varDelim, pej: $varName$ NOTA: Ojo!!
static java.lang.String replaceVariableValuesUsingReflection(java.lang.String inStr, java.lang.String varDelim, java.lang.Object obj, java.util.Map varPaths)
          Sustituye una cadena que contiene variables por sus valores Las variables estan delimitadas por una cadena que se pasa, pej: $varName$ NOTA: Para introducir el delimitador en el texto, doblarlo, pej: Esto son 10$$ dolares En un mapa indexado por el nombre de las variables se pasan sus valores
static java.lang.String rPadWithChar(java.lang.String str, char character, int length)
          Rellena por la derecha una cadena con el caracter indicado hasta la longitud tambien indicada
static void saveToFile(java.io.File f, java.lang.String theString)
          Guarda una cadena en un fichero
static void saveToFile(java.lang.String filePath, java.lang.String theString)
          Guarda una cadena en un fichero
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StringUtils

public StringUtils()
Creates new StringUtils

Method Detail

encodeUTF

public static java.lang.String encodeUTF(java.lang.String str)
Codifica una cadena en HTML

Parameters:
str - la cadena a codificar
Returns:
la cadena codificada

encodeQuoteUTF

public static java.lang.String encodeQuoteUTF(java.lang.String str)
Codifica lo mismo que el método encodeUTF más las comillas simples y dobles

Parameters:
str - la cadena a codificar
Returns:
la cadena codificada

encodeXMLEntities

public static java.lang.String encodeXMLEntities(java.lang.String xml)
Codifica carateres especiales XML

Parameters:
xml -
Returns:
el xml codificado

decodeUTF

public static java.lang.String decodeUTF(java.lang.String encodedStr)
Decodifica una cadena HTML con caracteres expresados en forma de entitie. Por ejemplo, los caracteres chinos se codifican como &#valorNumerico; Esta funcion pasa el valor numerico a su valor real como caracter

Parameters:
encodedStr - cadena con caracteres expresados en forma de entidad
Returns:
cadena decodificada

decodeXMLEntities

public static java.lang.String decodeXMLEntities(java.lang.String encodedStr)
Decodifica una cadena HTML con caracteres expresados en forma de entitie. Por ejemplo, los caracteres chinos se codifican como &#valorNumerico; Esta funcion pasa el valor numerico a su valor real como caracter

Parameters:
encodedStr - cadena con caracteres expresados en forma de entidad
Returns:
cadena decodificada

getNumberOfTokens

public static int getNumberOfTokens(java.lang.String inStr,
                                    java.lang.String sep)
Devuelve el numero de tokens obtenidos de tokenizar la cadena que se pasa como parametro con el separador que también se pasa como parámetro

Parameters:
inStr - cadena de entrada
sep - separador
Returns:
el número de tokens

getToken

public static java.lang.String getToken(java.lang.String inStr,
                                        java.lang.String sep,
                                        int pos)
Tokeniza una cadena y devuelve el token que ocupa la posición que se pasa

Parameters:
inStr - cadena a tokenizar
sep - separador
pos - posición del token
Returns:
el token que ocupa la posición solicitada

replaceString

public static java.lang.String replaceString(java.lang.String inStr,
                                             java.lang.String replacedStr,
                                             java.lang.String replacingStr)
Sustituye una cadena por otra dentro de un string

Parameters:
inStr - la cadena de entrada
replacedStr - la cadena sustituida
replacingStr - la cadena de sustitución
Returns:
la cadena de entrada con las apariciones de replacedStr sustituidas por replacingStr

replaceVariableValues

public static java.lang.String replaceVariableValues(java.lang.String inStr,
                                                     java.lang.String varDelim,
                                                     java.util.Map varValues)
Sustituye una cadena que contiene variables por sus valores. Las variables estan delimitadas por un caracter marcador varDelim pej: $varName$

Parameters:
inStr - La cadena en la que se hacen las sustituciones
varDelim - La cadena que hace de delimitador de variables
varValues - Un mapa variable-valor para realizar las sustituciones
Returns:
La cadena original con las variables sustituidas

replaceVariableValues

public static java.lang.String replaceVariableValues(java.lang.String inStr,
                                                     char varDelim,
                                                     java.util.Map varValues)
Sustituye una cadena que contiene variables por sus valores Las variables estan delimitadas por caracter marcador varDelim, pej: $varName$ NOTA: Ojo!! La expresion utiliza expresiones regulares así que hay que escapar la cadena a sustituir.

Parameters:
inStr - La cadena en la que se hacen las sustituciones
varDelim - El delimitador de variables
varValues - El valor de las variables variable-valor
Returns:
la cadena con las variables sustituidas

replaceVariableValues

public static java.lang.String replaceVariableValues(java.lang.String inStr,
                                                     java.lang.String varDelim,
                                                     java.util.Map varValues,
                                                     boolean deep)
Sustituye una cadena que contiene variables por sus valores Las variables estan delimitadas por caracter marcador varDelim, pej: $varName$ NOTA: Ojo!! La expresion utiliza expresiones regulares así que hay que escapar la cadena a sustituir.

Parameters:
inStr - La cadena en la que se hacen las sustituciones
varDelim - El delimitador de variables
varValues - El valor de las variables variable-valor
deep - indica si hay que revisar si las variables a su vez contienen variables
Returns:
la cadena con las variables sustituidas

replaceVariableValues

public static java.lang.String replaceVariableValues(java.lang.String inStr,
                                                     char varDelim,
                                                     java.util.Map varValues,
                                                     boolean deep)
Sustituye una cadena que contiene variables por sus valores Las variables estan delimitadas por caracter marcador varDelim, pej: $varName$ NOTA: Ojo!! La expresion utiliza expresiones regulares así que hay que escapar la cadena a sustituir.

Parameters:
inStr - La cadena en la que se hacen las sustituciones
varDelim - El delimitador de variables
varValues - El valor de las variables variable-valor
deep - indica si hay que revisar si las variables a su vez contienen variables
Returns:
la cadena con las variables sustituidas

replaceVariableValuesUsingReflection

public static java.lang.String replaceVariableValuesUsingReflection(java.lang.String inStr,
                                                                    java.lang.String varDelim,
                                                                    java.lang.Object obj,
                                                                    java.util.Map varPaths)
                                                             throws ReflectionException
Sustituye una cadena que contiene variables por sus valores Las variables estan delimitadas por una cadena que se pasa, pej: $varName$ NOTA: Para introducir el delimitador en el texto, doblarlo, pej: Esto son 10$$ dolares En un mapa indexado por el nombre de las variables se pasan sus valores

Parameters:
inStr - La cadena en la que se hacen las sustituciones
varDelim - El delimitador de variables
obj - El objeto que contiene el valor de las variables
varPaths - Un mapa que machea las variables con su path en el objeto
Returns:
la cadena con las variables sustituidas
Throws:
ReflectionException - si no se puede obtener el valor de una variable utilizando reflection

filterChars

public static java.lang.String filterChars(java.lang.String strToBeFiltered,
                                           char[] charsToFilter,
                                           java.lang.String[] charsFiltered)
Filtra en la cadena de entrada la aparición de los caracteres del array charsToFilter y los sustituye por el equivalente en el array charsFiltered Es de utilidad especialmente para filtrar caracteres especiales para los interpretes de HTML como los caracteres '>' o '<' que se sustituyen por '>' y '<'

Parameters:
strToBeFiltered - La cadena a filtrar
charsToFilter - Los caracteres a filtrar
charsFiltered - Los caracteres filtrados
Returns:
una cadena con los caracteres filtrados

capitalizeFirstLetter

public static java.lang.String capitalizeFirstLetter(java.lang.String str)
Capitaliza la primera letra de una cadena

Parameters:
str - La cadena
Returns:
La cadena con la primera letra en mayusculas

rPadWithChar

public static java.lang.String rPadWithChar(java.lang.String str,
                                            char character,
                                            int length)
Rellena por la derecha una cadena con el caracter indicado hasta la longitud tambien indicada

Parameters:
str - La cadena
character - El caracter de relleno
length - La longitud de la cadena
Returns:
La cadena rellena

lPadWithChar

public static java.lang.String lPadWithChar(java.lang.String str,
                                            char character,
                                            int length)
Rellena por la izquierda una cadena con el caracter indicado hasta la longitud tambien indicada

Parameters:
str - La cadena
character - El caracter de relleno
length - La longitud de la cadena
Returns:
La cadena rellena

getCharArray

public static char[] getCharArray(char character,
                                  int length)
Metodo auxiliar que obtiene un array de chars con un caracter

Parameters:
character - el caracter con el que llenar el array
length - el tamaño del array
Returns:
un array de caracteres del tamaño indicado

loadFromFile

public static java.lang.String loadFromFile(java.io.File f)
                                     throws java.io.IOException
Carga una cadena a partir de un fichero. IMPORTANTE: Lee linea a linea, con lo que se pueden perder retornos de carra

Parameters:
f - fichero a cargar
Returns:
el contenido del fichero en formato de cadena
Throws:
java.io.IOException - si ocurre algún error al acceder al fichero

loadFromFileRaw

public static java.lang.String loadFromFileRaw(java.io.File f)
                                        throws java.io.IOException
Lectura completa del fichero(y caracteres especiales), incluso retornos de carro

Parameters:
f - fichero a cargar
Returns:
el contenido del fichero en formato de cadena
Throws:
java.io.IOException - si ocurre algún error al acceder al fichero

loadFromFile

public static java.lang.String loadFromFile(java.lang.String filePath)
                                     throws java.io.IOException
Carga una cadena a partir de un fichero

Parameters:
filePath - Fichero
Returns:
La cadena cargada a partir del fichero
Throws:
java.io.IOException - Si ocurre algun error al acceder al fichero

loadFromFile

public static java.lang.String loadFromFile(java.lang.String filePath,
                                            java.lang.String encoding)
                                     throws java.io.IOException
Carga una cadena a partir de un fichero y la encodea

Parameters:
filePath - path del fichero
encoding - encoding del fichero de salida
Returns:
el contenido del fichero codificado
Throws:
java.io.IOException - si ocurre algún error al acceder al fichero

loadFromFile

public static java.lang.String loadFromFile(java.io.File f,
                                            java.lang.String encoding)
                                     throws java.io.IOException
Carga una cadena a partir de un fichero y la encodea

Parameters:
f - del fichero
encoding - encoding del fichero de salida
Returns:
el contenido del fichero codificado
Throws:
java.io.IOException - si ocurre algún error al acceder al fichero

loadFromStream

public static java.lang.String loadFromStream(java.io.InputStream is)
                                       throws java.io.IOException
Lee una cadena de un inputStream

Parameters:
is - El inputStream
Returns:
La cadena leida
Throws:
java.io.IOException

loadFromStream

public static java.lang.String loadFromStream(java.io.InputStream is,
                                              java.lang.String encoding)
                                       throws java.io.IOException
Lee una cadena de un InputStream y encodea el resultado

Parameters:
is - InputStream del que leer
encoding - el encoding
Returns:
la cadena encodeada
Throws:
java.io.IOException - si se produce un error al cargar

loadFromReader

public static java.lang.String loadFromReader(java.io.Reader r)
                                       throws java.io.IOException
Lee una cadena de un reader

Parameters:
r - El reader
Returns:
La cadena leida
Throws:
java.io.IOException

loadFromReader

public static java.lang.String loadFromReader(java.io.Reader r,
                                              java.lang.String encoding)
                                       throws java.io.IOException
Lee una cadena de un reader y la encodea

Parameters:
r - reader
encoding - para codificar la cadena
Returns:
la cadena leida codificada
Throws:
java.io.IOException

loadColumnsFromFile

public static java.lang.String[][] loadColumnsFromFile(java.lang.String filePath,
                                                       char delim)
                                                throws java.io.IOException
Carga un fichero con columnas delimitadas: col1:col2:col3 col1:col2:col3 ....

Parameters:
filePath - Ruta al fichero
delim - Delimitador de columnas
Returns:
Un array cuyos elementos son a su vez arrays con las columnas
Throws:
java.io.IOException - Si ocurre algun error al acceder al fichero

saveToFile

public static void saveToFile(java.lang.String filePath,
                              java.lang.String theString)
                       throws java.io.IOException
Guarda una cadena en un fichero

Parameters:
filePath - El path del fichero
theString - La cadena a guardar en el fichero
Throws:
java.io.IOException - Si ocurre algun error al acceder al fichero

saveToFile

public static void saveToFile(java.io.File f,
                              java.lang.String theString)
                       throws java.io.IOException
Guarda una cadena en un fichero

Parameters:
f - El fichero
theString - La cadena a guardar en el fichero
Throws:
java.io.IOException - Si ocurre algun error al acceder al fichero

printArrayStrings

public static java.lang.String printArrayStrings(java.lang.String[] input)
Retorna una cadena formateada del array de strings.

Parameters:
input - array de strings
Returns:
cadena formateada

isEmptyString

public static boolean isEmptyString(java.lang.String literal)
 Método para validar si un String es vacío, no se consideran espacios en blanco.
 Este método debe ser utilizado en lugar de String.trim().length(),
 debido a que es un modo ineficaz de comprobar si una cadena es vacía realmente,
 ya que el código String.trim().length() crea internamente un objeto String nuevo para comprobar su tamaño.
 

Parameters:
literal - la cadena a validar
Returns:
true si es un literal vacío o null

isEmptyStringBuffer

public static boolean isEmptyStringBuffer(java.lang.StringBuffer sb)
 Método para validar si un StringBuffer es vacío, no se consideran espacios en blanco.
 Este método debe ser utilizado en lugar de sb.toString().trim().length(),
 debido a que es un modo ineficaz de comprobar si una cadena es vacía realmente,
 ya que el código String.trim().length() crea internamente un objeto String nuevo para comprobar su tamaño.
 

Parameters:
sb - StringBuffer a validar
Returns:
true si es un StringBuffer vacio o null

main

public static void main(java.lang.String[] args)
Main Method

Parameters:
args -