Ver la versión completa : Ayuda "URGENTE" Java
Buenas.
Estoy liado con una practica que tengo que entregar mañana (siempre me pilla el toro) en java y mas o menos tengo todo el pseudocodigo y el codigo que tengo que reutilizar de otras practicas anteriores.
El problema es que he buscado por internet y no se como puedo leer en java de una cadena de caracteres los caracteres "CR LF" o la cadena "CRLF.CRLF", y es condicion de un bucle para leer los mensajes que me envia un servidor POP3, asi que tengo que leerlo si o si.
Lo unico que he encontrado es que java no puede leer ni comparar contra esos caracteres, asi que ando un poco perdido...
Alguien sabe como puedo leerlos o compararlos con la cadena?
Saludos y muchas gracias!
PharaOnyx
09/11/2008, 22:07
Imagino que si los quieres leer 'a pelo' es porque la solución de hacer un BufferedReader y leer línea por línea con readLine() no te vale, ¿verdad?
Saludos, Alex
^MiSaTo^
09/11/2008, 22:11
Imagino que si los quieres leer 'a pelo' es porque la solución de hacer un BufferedReader y leer línea por línea con readLine() no te vale, ¿verdad?
Saludos, Alex
Me lo has quitado de la boca ^^
El problema es que tengo que leer linea a linea en un bucle hasta que llegue un "CRLF.CRLF" y la siguiente linea sea ".CRLF", asi que tengo que saber que me esta llegando eso exactamente.
Es decir, con readLine leo hasta un CRLF, pero entonces tendria despues . y despues punto, no??
De ser asi podria hacerlo, en plan, leo, comparo con punto, comparo con punto :S
Esto lo he sacado del rfc 1939, que es el servidor pop3, por eso la necesidad de saber que han llegado esos caracteres especiales
Gracias
jjajajajajaj el primer problema que tuve yo con java. Crea una TxtBox o algo así y úsala para recoger la información.
jjajajajajaj el primer problema que tuve yo con java. Crea una TxtBox o algo así y úsala para recoger la información.
SaiWat? xD
Enserio, tengo creada una **** maquina de estados, pero no se como hacer eso, me siento inutil :S
Estoy buscando mis primeros ejemplos a ver si lo encuentro.
EDIT: prueba con un
import javax.swing.JOptionPane;
NOESTOYSEGURODEQUE = JOptionPane.showInputDialog("TEXTO TEXTO TEXTO").toCharArray()[0]-48;
ó
int entero = Integer.parseInt(JOptionPane.showInputDialog(""));
Estoy buscando mis primeros ejemplos a ver si lo encuentro.
EDIT: prueba con un
import javax.swing.JOptionPane;
taltal = JOptionPane.showInputDialog("TEXTO TEXTO TEXTO").toCharArray()[0]-48;
¿?
Estoy perdido en java, pero eso no es para la parte grafica del mismo??
< - >
Por cierto, gracias ^^
Hace ambas funciones, saca una caja de diálogo y te devuelve lo que le aceptes.
Le he hecho ya un edit.
EDIT: Al primero que malmeta a mi Java que sepa que no he trabajado con Swing, eso lo se de refilón.
mmm, creo que no me he explicado, yo creo un cliente que hace una conexion tcp con un servidor, y este me manda por un buffer linea a linea todas las respuestas.
El problema es que hay respuestas de mas de una linea, y para detectarlas tengo que saber que al final me llega el CRLF.CRLF, solo eso, comparar el final de la cadena con eso... pero no se me ocurre como hacerlo :S
Saludos, y si, no me entero de nada xD
Especifica de dónde leías, que creía que era de teclado :p
Nathrezim
09/11/2008, 22:48
A lo mejor con un simple stringTokenizer con /n te vale.
Siento la confusion
He pensado que como CRLF es fin de linea, con hacer readline() sobre el correspondiente buffer, ire sacando linea a linea.
Con comparar con ".", si se da esta condicion dos veces, ha terminado de enviar, ya que es CRLF.CRLF y despues otro .CRLF, es decir, leeria:
cadena
.
.
SAludos!
^MiSaTo^
09/11/2008, 22:52
A lo mejor con un simple stringTokenizer con /n te vale.
En ese caso que no lo lea con el readLine() de un buffered reader porque se lo salta ;)
otto puedes poner con qué clase lo estás leyendo?
Al final me voy a declarar un buffer reader sobre un imput stream reader sobre la accion de socket.getimputstream, de forma que puedo usar el readline, devolviendome pequeños fragmentos que me sirven para comparar:
iBuffer = new BufferedReader(new InputStreamReader(socket.getInputStream()));
recibido=iBuffer.readLine();
//y ahora comparo lo recibido con un .
Saludos y gracias
^MiSaTo^
09/11/2008, 22:57
Al final me voy a declarar un buffer reader sobre un imput stream reader sobre la accion de socket.getimputstream, de forma que puedo usar el readline, devolviendome pequeños fragmentos que me sirven para comparar:
iBuffer = new BufferedReader(new InputStreamReader(socket.getInputStream()));
recibido=iBuffer.readLine();
//y ahora comparo lo recibido con un .
Saludos y gracias
Los Buffered-loquesea son casi siempre la mejor solución ;)
Gracias a todos, espero que ahora todo lo que he diseñado funcione... a la primera xDDDDD
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.