Fallo al reconocer una fecha

Diego
30 de Marzo del 2006
Envío este código a ver si alguien da con el motivo de que no me reconozca una fecha correctamente formateada o se trata de un problema de la clase Scanner:
// Formatted date / Fecha formateada
String formattedDate=new java.text.SimpleDateFormat().format(new Date());
// Date format / Formato de fecha
String dateFormat=new java.text.SimpleDateFormat().toPattern();
// Scanner who read date / Scanner que lee la entrada
java.util.Scanner conin=new java.util.Scanner(formattedDate);
// Screen output of date and date format / Salida a pantalla de fecha y
// formato de fecha
System.out.printf(\"date: %s date format: %s%n\",formattedDate,dateFormat);
// Method which should print good! / Método que debería mostrar good!
System.out.println(conin.hasNext(dateFormat)?\"good!\":\"bad!\");

Muchas gracias por vuestra ayuda

xscorpio
30 de Marzo del 2006
si quieres formatear una fecha solo haz esto por ejemplo:

SimpleDateFormat sdf = new SimpleDateFormat( "dd/MM/yyyy" );

try {
Date date = sdf.parse( stringFecha );
}
catch( ParseException ) {
// error al convertir
}

si no es eso lo q buscas quiza podras ser mas especifico

Diego
30 de Marzo del 2006
Gracias por contestar, pero lo que yo quiero en realidad es usar la clase java.util.Scanner con el método findWithinHorizon(patrón,0) en un bucle:
Scanner lector=new Scanner(new File("archivo.txt"));
String fecha;
String formatoFecha=new java.text.SimpleDateFormat().toPattern();
while(fecha=lector.findWithinHorizon(formatoFecha,0)!=null){
// Operar con la fecha
}

De este modo 'en teoría' pueden obtenerse todas las fechas disponibles (o cualquier objeto formateado) de cualquier fuente de caracteres, como un archivo, y operar con ellas ignorando todos los demás tokens. Aún así, tu solución creo que me podía servir: llamando al método hasNext y next, y operando con cada String con parse para obtener una fecha.
Un saludo.