Ciao ragazzi,
ho un piccolo problema...il codice seguente legge un file di canzoni(genere, song) e introducendo un genere si possono selezionare quelle da inserire in un altro file.
Funziona tutto tranne la cancellazione del file, nel caso in cui il genere digitato non sia presente. Mi stampa anche la frase "Nessuna canzone presente del genere selezionato." ma il file non lo cancella eppure il nome file è giusto..potete aiutarmi...grazie.
codice:import java.io.*; import java.util.*; public class SongCompilation { public SongCompilation(String FileName) throws Exception { v = new Vector(); BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(FileName))); Canzone canzone = Canzone.read(br); while (canzone !=null) { v.addElement(canzone); canzone = Canzone.read(br); } } public void lookUpandAdd() throws Exception { BufferedReader brInput = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Inserire che genere di canzoni inserire nella compilation: "); String genere = brInput.readLine(); String nomeFile = genere.concat(".txt"); PrintStream ps = new PrintStream(new FileOutputStream(new File(nomeFile))); Enumeration e = v.elements(); int cont = 0; while (e.hasMoreElements()) { Canzone canzone = (Canzone)e.nextElement(); if (genere.equals(canzone.getKind())) { cont ++; System.out.println(canzone.getSong()); System.out.print("Vuoi aggiungerla? (S/N)"); BufferedReader brConf = new BufferedReader(new InputStreamReader(System.in)); String conf = brConf.readLine(); if (conf.equals("SI") || conf.equals("S") || conf.equals("s") || conf.equals("si")) ps.println(canzone.getSong()); } } if (cont == 0) { System.out.println("Nessuna canzone presente del genere selezionato."); File f = new File(nomeFile); f.delete(); } } private Vector v; }

Rispondi quotando