common/src/main/java/com/genexus/reports/ParseINI.java
/** Separa partes de una lines y las retorna en un Vector. Las partes pueden estar encerradas por comillas
	 * en cuyo caso hasta que no se cierren las comillas no se se considera el fin de linea
	 * @param line linea a separar
	 * @param separator String conteniendo el separador de partes
	 * @return Vector de Strings conteniendo las partes separadas
	 */
Separa partes de una lines y las retorna en un Vector. Las partes pueden estar encerradas por comillas
en cuyo caso hasta que no se cierren las comillas no se se considera el fin de linea
@param line linea a separar
@param separator String conteniendo el separador de partes
@return Vector de Strings conteniendo las partes separadas
Separa partes de una lines y las retorna en un Vector . Las partes pueden estar encerradas por comillas en cuyo caso hasta que no se cierren las comillas no se se considera el fin de linea @param line linea a separar @param separator String conteniendo el separador de partes @return Vector de Strings conteniendo las partes separadas
public static Vector<String> parseLine(String line, String separator)
	{
        Vector<String> partes = new Vector<>();
        if(line == null) return partes;
        StringTokenizer tokens = new StringTokenizer(line, separator, false);
        if(!tokens.hasMoreTokens())
               return partes;
        String thisToken;
        String lastToken = tokens.nextToken();
        while(tokens.hasMoreTokens())
        {
            thisToken = tokens.nextToken();
            if(lastToken.startsWith("\"") &&
               (!lastToken.endsWith("\"") || lastToken.length() == 1))
            {
                lastToken = lastToken + separator + thisToken;
            }
            else
            {
                partes.addElement(lastToken);
                lastToken = thisToken;
            }
        }
        if(lastToken.startsWith("\"") && !lastToken.endsWith("\"")) 
            lastToken = lastToken + "\"";
        partes.addElement(lastToken);
        return partes;
	}
public static Vector < String > parseLine ( String line , String separator ) { Vector < String > partes = new Vector < > ( ) ; if ( line == null ) return partes ; StringTokenizer tokens = new StringTokenizer ( line , separator , false ) ; if ( ! tokens . hasMoreTokens ( ) ) return partes ; String thisToken ; String lastToken = tokens . nextToken ( ) ; while ( tokens . hasMoreTokens ( ) ) { thisToken = tokens . nextToken ( ) ; if ( lastToken . startsWith ( "\"" ) && ( ! lastToken . endsWith ( "\"" ) || lastToken . length ( ) == 1 ) ) { lastToken = lastToken + separator + thisToken ; } else { partes . addElement ( lastToken ) ; lastToken = thisToken ; } } if ( lastToken . startsWith ( "\"" ) && ! lastToken . endsWith ( "\"" ) ) lastToken = lastToken + "\"" ; partes . addElement ( lastToken ) ; return partes ; }
Separa partes de una lines y las retorna en un Vector.
Separa partes de una lines y las retorna en un Vector .
// Chequeo el caso en que comienzo con " y no termino con "