Problema conS trings
Hola,
tengo un pobremilla con un programa que estoy haciendo. Se supone que dicho programa llama a un servlet, que me devuelve una serie de datos en formato html. Lo que se hace a continuación es extraer ciertos valores para utilizarlos posteriormente.
Aquà está una parte del código, que es la que me da el error:
private static String [] readXMLResponse(InputStream in) throws IOException
{
StringBuffer sb = new StringBuffer();
Reader reader = new InputStreamReader(in, "UTF-8");
int c;
while ((c = in.read()) != -1)
sb.append((char)c);
String document = sb.toString();
String startTag1 = "<UID1>";
String endTag1 = "</UID1>";
System.out.println(startTag1);
System.out.println(endTag1);
System.out.println(longitud1);
int start1 = document.indexOf(startTag1) + startTag1.length();
int end1 = document.indexOf(endTag1);
String U1 = document.substring(start1, end1);
....
Al ejecutar dicho código, me da error: StrinIndexOutOfBounds: Index out of range: -6. Depurando, he descubierto que los valores de los enteros son:
start1= 5 (correcto)
end1 = -1 (incorrecto: tendrÃa que valer 16)
¿Alguien podrÃa echarme una mano? ¿Cuál puede ser el error?
Muchas gracias por todo.
Un saludo,
Paloma
tengo un pobremilla con un programa que estoy haciendo. Se supone que dicho programa llama a un servlet, que me devuelve una serie de datos en formato html. Lo que se hace a continuación es extraer ciertos valores para utilizarlos posteriormente.
Aquà está una parte del código, que es la que me da el error:
private static String [] readXMLResponse(InputStream in) throws IOException
{
StringBuffer sb = new StringBuffer();
Reader reader = new InputStreamReader(in, "UTF-8");
int c;
while ((c = in.read()) != -1)
sb.append((char)c);
String document = sb.toString();
String startTag1 = "<UID1>";
String endTag1 = "</UID1>";
System.out.println(startTag1);
System.out.println(endTag1);
System.out.println(longitud1);
int start1 = document.indexOf(startTag1) + startTag1.length();
int end1 = document.indexOf(endTag1);
String U1 = document.substring(start1, end1);
....
Al ejecutar dicho código, me da error: StrinIndexOutOfBounds: Index out of range: -6. Depurando, he descubierto que los valores de los enteros son:
start1= 5 (correcto)
end1 = -1 (incorrecto: tendrÃa que valer 16)
¿Alguien podrÃa echarme una mano? ¿Cuál puede ser el error?
Muchas gracias por todo.
Un saludo,
Paloma
