Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    68

    [Java] verificare se il file esiste exists()

    Ciao a tutti.. Devo fare un metodo java che mi stampa sul file "risultato.txt" un l'albero in inorder e se il file "risultato.txt!" esiste già devo lanciare una eccezione; il mio problema è che non so come implementare il metodo exists() (che appunto mi lancia una eccezione se esiste un file nella directory dove ho le classi) del package IO. Penso che dovrei implementarlo nel catch dove ho messo i puntini (penso), ecco il mio codice:



    codice:
    //CLASSE BINARYTREE
    public void salvaInOrder(String fileName) throws IOException {
    	try {
                    FileWriter f = new FileWriter("risultato.txt!"); 
    	        PrintWriter out = new PrintWriter(f);
    		out.println(this.scriviSuFile());
    		out.close(); //chiusura del file
    	}
    	catch (.......................) {
    	        ..............................
            }
    }
    
    
    public void scriviSuFile() {
    	if (root == null)
    		throw new RuntimeException ("Albero vuoto");
    	else
    		return root.scriviSuFile();
    }
    
    
    
    
    //CLASSE BINARY TREE
    
    public String scriviSuFile () {
    	String risp = "";
    	if (left != null) {
    		System.out.println("Vado a sx");
    		return risp += left.scriviSuFile();
    	}
    	risp = risp + dato + ", ";
    	if (right != null) {
    		System.out.println("Vado a dx");
    	        return risp += right.scriviSuFile();
    	}
    }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [Java] verificare se il file esiste exists()

    Originariamente inviato da 8paolo9
    se il file "risultato.txt!" esiste già devo lanciare una eccezione

    Penso che dovrei implementarlo nel catch dove ho messo i puntini
    Io direi proprio di no. Il FileWriter aprirebbe comunque (sovrascrivendolo) il file.

    Usa exists() di java.io.File, ritorna true/false. Se poi vuoi lanciare una eccezione .... devi farlo tu.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    68
    ah capito, quindi ho già sbagliato in partenza!! Come potrebbe essere una soluzione? Grasie

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da 8paolo9
    ah capito, quindi ho già sbagliato in partenza!! Come potrebbe essere una soluzione? Grasie
    Crei un java.io.File, invochi exists(), se true (esiste già) lanci una eccezione.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    68
    Grazie andbin, io ho fatto così:

    codice:
    public void salvaInOrder(String fileName) throws IOException {
    	File f = new File("risultato.txt!"); //creazione del file
    	if (f.exists())//Verifico se il file risultato.txt! esiste già
    		throw new IOException("ATTENZIONE: devi cancellare \"risultato.txt!");
    	PrintWriter out = new PrintWriter(f);
    	out.println(this.scriviSuFile()); //scrittura di testo
    	out.close(); //chiusura del file
    }
    sembra compilare ed eseguire giusto, può essere una soluzione valida?

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da 8paolo9
    può essere una soluzione valida?
    Assolutamente sì.

    P.S. sicuro solo che il nome finisca per "!" ?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    68
    L'ho preso da un testo d'esame... Grazie ancora!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    68
    Avrei ancora una domanda: quando devo scrivere su un file, in base a cosa creo un oggetto File oppure uno FileWriter? Nel mio caso con entrabi gli oggetti riesco a scrivere su un file .txt i dati di un albero visitandolo in inorder..

  9. #9
    Originariamente inviato da 8paolo9
    L'ho preso da un testo d'esame... Grazie ancora!!
    Un semplice appunto, non riferito a 8paolo9 in particolare.
    Gli esempi sono fatti anche per essere copiati, l'importante però è capire sempre ciò che si sta copiando, altrimenti non serve a nulla.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    68
    Io so che con FileWriter posso scrivere su un file; non ho capito la differenza tra File e FileWriter..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.