/** Prova Archivio @author Adriano Luchetta @version 7-Nov-2003 @version 20-Nov-2004 */ import java.io.PrintWriter; import java.io.FileReader; import java.io.IOException; import java.util.Scanner; import java.util.NoSuchElementException; public class ProvaContenitoreOrdinabile { public static void main(String[] args) throws IOException { if (args.length < 2) { System.out.println("uso: $java Archivio nomeInputFile nomeOutputFile"); return; } ContenitoreOrdinabile archivio = new ContenitoreOrdinabile(); Scanner in = new Scanner(new FileReader(args[0])); int contatoreDiRiga = 0; String riga = ""; while (in.hasNextLine()) { contatoreDiRiga++; riga = in.nextLine(); Scanner tok = new Scanner(riga); tok.useDelimiter("[:]+"); try { String nome = tok.next(); int matricola = tok.nextInt(); archivio.aggiungi(new Studente(nome, matricola)); } catch (NoSuchElementException e) { System.out.println("riga " + contatoreDiRiga + " errata: " + riga); } } in.close(); PrintWriter writer = new PrintWriter(args[1]); ContenitoreOrdinabile tmpArchivio = new ContenitoreOrdinabile(); // Stampa dell'archivio non ordinato writer.println("*** STAMPA ARCHIVIO NON ORDINATO ***"); while (!archivio.isEmpty()) { Comparable tmpC = (Comparable)archivio.togliUltimo(); tmpArchivio.aggiungi(tmpC); writer.println(tmpC); } // Ordinamento dell'archivio archivio = tmpArchivio; archivio.ordina(); // Stampa dell'archivio ordinato writer.println("\n*** STAMPA ARCHIVIO ORDINATO ***"); while (!archivio.isEmpty()) writer.println((Studente)archivio.togliUltimo()); writer.close(); } }