Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 21-nov-2005, 15:26   #1 (permalink)
Nizam está en el buen camino
 
Avatar de Nizam
 
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 76
Triste Separar caracteres

Hola a todos y perdonad por mi torpeza. Llevo todo el dia leyendo mensajes en el foro, buscando por internet y soy incapaz de hacer lo siguiente.

Tengo que leer el contenido de un archivo de texto plano y guardar los datos en una matriz.
Si en el archivo hay un # debo ignorar la linea, sino debo obtener los datos.
El archivo consta de * y numeros.
Los * significa ausencia de numeros.

El archivo puede venir de las siguientes maneras:

# Comentario
***3*4*3**2 Todo junto
* * * * 3 5 * 6 Con espacios
Un salto de linea.
*2 3 * 2 1 * * *
# Comentario.

Si leo el fichero caracter a caracter:
Debo detectar el final de linea (10 10 13 creo o 13 10 10)
Si aparece un # debo leer hasta el final de linea ignorando todo.
Me funciona pero hay otra manera mejor

Lo suyo es leer la linea de un tiron.
Así obteniendo el primer caracter de esa linea se si es # o no y si debo ignorarla.

Pues despues de toda la charla, resulta que soy incapaz de obtener de la linea leida del archivo los caracteres separados.

Vamos que mi problema está en separar caracteres.

Lo intento con substring.
FileReader fr = new FileReader("entrada.txt");
BufferedReader lector = new BufferedReader(fr);
texto=lector.readLine()
System.out.println(texto); // Aqui imprime el texto bien!!!!
cantidad=texto.length(); // Me sale cuantos caracteres tiene
for (int k=1;k<cantidad;k++){
System.out.print(texto.substring(k,k)) // Aqui he puesto de todo y el resultado es blanco.
}

Vamos que es una tonteria y no doy con ella.

A ver si alguien me puede orientar un poco.
Nizam está desconectado   Responder Citando
Antiguo 22-nov-2005, 09:04   #2 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.570
¿¿¡¡texto.substring(k,k)!!??

Del API:
----
public String substring(int beginIndex, int endIndex)

Returns a new string that is a substring of this string. The substring begins at the specified beginIndex and extends to the character at index endIndex - 1. Thus the length of the substring is endIndex-beginIndex.
----
GreenEyed está desconectado   Responder Citando
Antiguo 22-nov-2005, 09:06   #3 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.570
Y otro detalle....

¿¿¡¡for (int k=1;k<cantidad;k++)!!??

El primer caracter es el 0, no el 1.
GreenEyed está desconectado   Responder Citando
Antiguo 22-nov-2005, 10:02   #4 (permalink)
Nizam está en el buen camino
 
Avatar de Nizam
 
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 76
Pues eso, que no se leer.

Vamos que todo el dia probando con texto.substring(k,k),texto.substring(3,3) etc... y no fui capaz de comprender que si le digo que empieze en 3 y acabe en 3 no coge nada.

Gracias por hacerme ver la luz. Aunque me cabrea molestar por no comprender lo que leo.

Mil gracias.
Nizam está desconectado   Responder Citando
Antiguo 23-nov-2005, 02:37   #5 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.570
Ojalá todos los problemas fueran así de fáciles .

Bromas aparte, la primera fuente de información es el API, ya que por ejemplo el funcionamiento de los parametros en este método no es muy intuitivo, por decirlo finamente . Lo de leer inglés técnico... pues es a base de práctica, y si te falta base no es mala idea hacer algun curso por que hoy en día para trabajar en Internet es imprescindible.
Lo peor de todo es cerrarse, pero con buen ánimo se le va pillando el tranquillo. Yo casi siempre programo con un navegador con el API abierto en una pestaña, por que de memoria no me lo se .

Pues eso, un saludo
GreenEyed está desconectado   Responder Citando
Antiguo 23-nov-2005, 04:31   #6 (permalink)
Nizam está en el buen camino
 
Avatar de Nizam
 
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 76
Si lo peor de todo es que entiendo el ingles, (tanto el tecnico como el coloquial), tenia la misma definicion que me diste tu delante de los ojos, pero no fui capaz de comprender que significaba.

Vamos que me hubiera dado igual que lo hubieran puesto en un perfecto y claro castellano.

Creo que como bien dices, me cerre y no fui capaz de salir de esa situación.

Muchas gracias de nuevo.
Nizam está desconectado   Responder Citando
Antiguo 23-nov-2005, 08:59   #7 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.570
Jejeje, bueno, eso a veces le pasa tambien al más pintado. Te puedes tirar dos horas mirando el mismo problema, , dale que te pego hasta que viene alguien por encima del hombro y zas, lo ve.

Cosas del cerebro humano...
GreenEyed está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 20:13.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93