Ciao a tutti!
Ho un problema riguardo una lettura da un file.txt e alla copia in un arraylist, che successivamente dovrò andare a riordinare..
Questo è il codice che ho provato a scrivere:

codice:
package negozio.data;

import java.io.FileReader;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Date;
import java.util.StringTokenizer;
import java.util.ArrayList;
 
/**
 * Classe Magazzino che contiene i dati per mezzo di un arraylist
 */
public class Magazzino 
{
  public static void main( String [] args )
  {
   // dichiaro ArrayList perchè contenga i prodotti
   ArrayList<Prodotto> listaProdotto = new ArrayList<Prodotto>( );
 
   try
   {
     FileReader fr = new FileReader( "store.txt" );
     BufferedReader br = new BufferedReader( fr );
 
     // dichiaro la variabile String
     String stringRead = br.readLine( );
 
     while( stringRead != null ) 
     {
       // uso lo StringTokenizer per scorrere il file suddiviso dai pipe
       StringTokenizer st = new StringTokenizer( stringRead, "|" );
       String id = st.nextToken( );
       String descrizione = st.nextToken( );
       
       try
       {
         int costo = Integer.parseInt( st.nextToken( ) );
         int quantita = Integer.parseInt( st.nextToken( ) );
         float temperatura = Float.parseFloat( st.nextToken( ) );
         date scadenza = Date.parseDate(st.nextToken());
 
         Prodotto frTemp = new Prodotto(id, descrizione, costo, quantita, temperatura,scadenza);
 
         // aggiungo il prodotto alla lista prodotti
         listaProdotto.add( frTemp );
       }
 
       catch( NumberFormatException nfe )
       {
         System.out.println( "Errore in prodotti: " + stringRead + "; record" );
       }
 
       // legge la linea 
       stringRead = br.readLine( );
     }
 
     // chiude il flusso con "store.txt"
     br.close( );
   }
 
   catch( FileNotFoundException fnfe )
   {
     System.out.println( "ERRORE:File store.txt non trovato" );
   }
 
   catch( IOException ioe )
   {
     ioe.printStackTrace( );
   }
 
   // stampa i prodotti letti 
   for ( Prodotto elementi : listaProdotto )
       System.out.println( elementi );
 }
}
Il problema riguarda la scadenza che è di tipo date e mi genera un errore anche se importo: java.util.Date;
Inoltre volevo sapere come mai non viene letto il file in questo modo:
FileReader fr = new FileReader( "store.txt" );
ma solo sostituendo al posto del nome un path assoluto (C:/store.txt) che preferirei evitare.
Grazie a tutti anticipatamente.