Foros del Web » Programación para mayores de 30 ;) » Java »

rangos de String ???

Estas en el tema de rangos de String ??? en el foro de Java en Foros del Web. Buenas a tod@s; Estoy tratando de averiguar este tipo de error, que no entiendo pq resulta; les explico; Yo tengo una clase lectora de datos ...
  #1 (permalink)  
Antiguo 20/12/2004, 01:42
 
Fecha de Ingreso: septiembre-2004
Mensajes: 67
Antigüedad: 19 años, 7 meses
Puntos: 0
rangos de String ???

Buenas a tod@s;

Estoy tratando de averiguar este tipo de error, que no entiendo pq resulta; les explico;
Yo tengo una clase lectora de datos con extension dbf, y bueno,en la declaracion del main declaro:
Object obj[] = null;
y dentro asigno la variable obj[] a un metodo:
obj = reader.nextRecord();
El metodo nextRecord, contiene esto:
public Object[] nextRecord()
throws JDBFException
{
if(!hasNextRecord())
throw new JDBFException("No more records available.");
Object aobj[] = new Object[fields.length];
int i = 1;
for(int j = 0; j < aobj.length; j++)
{
int k = fields[j].getLength();
StringBuffer stringbuffer = new StringBuffer(k);
stringbuffer.append(new String(nextRecord, i, k));
aobj[j] = fields[j].parse(stringbuffer.toString());
i += fields[j].getLength();
}

try
{
stream.readFully(nextRecord);
}
catch(EOFException eofexception)
{
nextRecord = null;
}
catch(IOException ioexception)
{
throw new JDBFException(ioexception);
}
return aobj;
}


Y sin embargo al rellenar los datos en "aobj" me mete en indices distintos los valores del fichero con extension dbf, es decir, si tenemos 2 valores:

"AA" y "BB", lo q hace es tratarmelo como si fuera "A" y "ABB", lo entienden??

Cuando lo q necesito es q meta "AA" y "BB",
De tal manera q decidi por cambiar el indice de la variable i, decidi ponerlo a 0 y me repetia el problema incrementado una posicion,
"" y AABB" entonces,, al contrario,,,deberia ser la solucion ---- i=2, y es ahi donde obtengo el error:

java.lang.StringIndexOutOfBoundsException: String index out of range: 329
at java.lang.String.checkBounds(String.java:287)
at java.lang.String.<init>(String.java:370)
at com..jdbf.DBFReader.nextRecord(DBFReader.java:167)
at com.cmbd.Main.main(Main.java:150)

Pueden ayudarme please...????

GRAcias por todo!!!
  #2 (permalink)  
Antiguo 20/12/2004, 04:12
 
Fecha de Ingreso: septiembre-2004
Mensajes: 67
Antigüedad: 19 años, 7 meses
Puntos: 0
ya lo arreglé !!!!, gracias de todas formas a aquellas personas q x lo menos se pararon a leer de q se trataba,
Bye
  #3 (permalink)  
Antiguo 20/12/2004, 12:07
Avatar de aetrejo  
Fecha de Ingreso: septiembre-2004
Ubicación: Guatemala
Mensajes: 131
Antigüedad: 19 años, 7 meses
Puntos: 0
Pero sería bueno que así como colocaste la consulta coloques la solución...

__________________

Si algo puede fallar... fallará.
  #4 (permalink)  
Antiguo 21/12/2004, 04:27
 
Fecha de Ingreso: septiembre-2004
Mensajes: 67
Antigüedad: 19 años, 7 meses
Puntos: 0
ok, simplemente el rango de la variable i, era superior para la carga de datos a la que puede estar sometida, por lo q se producía un desbordamiento de bytes, habia ciertas excepciones q por algun motivo estaban comentadas y no haciendo su funcion para la cual han sido creadaas, controlar los posibles errores.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:36.