in che formato e' la stringa della data della scadenza? Probabilmente dovrai usare un oggetto della classe SimpleDateFormat per parsarla correttamente (il cui metodo parse() ti restituisce un oggetto Date).

Per la questione del percorso relativo al file: credo che tu debba passare al FileReader il percorso completo altrimenti non saprebbe dove cercare il file. Cio' non significa necessariamente che devi scrivere "a mano" l'intero percorso assoluto all'interno della tua classe.
Se dentro la tua classe provi a fare
codice:
System.out.println(System.getProperty("user.dir"));
cosa ti stampa?