Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Java chiedere conferma se scrivo su file gia esistente

    Salve a tutti,
    Devo salvare un array di tipo Book in un file, scegliendo tramite un JTextField il nome del file.
    Se una volta scritto il nome del file e confermo con il pulsante "SALVA" il file è gia esistente nel mio workspace voglio che appaia una JDialog che mi dice che il file è già esistente, e se voglio confermare, ad esempio con una JDialog con due pulsanti "si" o "no".
    La salva l'ho fatta in questo modo:

    codice:
    try{
                            f_out = new FileOutputStream(txt_file.getText());
                                        for(int i=0;i<dim_book;i++){
                                            f_out.write(libro[i].Titolo.getBytes());
                                            f_out.write(" ".getBytes());
                                            f_out.write(libro[i].Autore.getBytes());
                                            f_out.write(" ".getBytes());
                                            f_out.write(libro[i].Anno.getBytes());
                                            f_out.write(" ".getBytes());
                                            f_out.write(libro[i].Percorso.getBytes());
                                            f_out.write(" ".getBytes());
                                            f_out.write(libro[i].numpag.getBytes());
                                            f_out.write("\r".getBytes());
                                        }
                                        f_out.flush();
                                        f_out.close();
                                        JOptionPane.showMessageDialog(f_main, "Salvataggio avvenuto con successo.");
                                        grafica_Panel();
                                        
                                    }catch(IOException ex){
                                        JOptionPane.showMessageDialog(f_main, "Errore caricamento file.");
                                    }

    Scusate ma non ho capito ancora come scrivere ordinato il CODE

    Grazie in anticipo.
    Ultima modifica di LeleFT; 16-01-2015 a 11:02 Motivo: Aggiunti i tag CODE

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    La classe File ha il metodo exists che ti restituisce true se il file esiste già... In base a questo chiedi la conferma...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,325
    Quote Originariamente inviata da marco1462 Visualizza il messaggio
    Scusate ma non ho capito ancora come scrivere ordinato il CODE

    Semplicemente incollando il codice all'interno dei due tag. Esempio:

    [CODE]
    public class Pippo {
    ...
    }
    [/CODE]


    Risultato:

    codice:
    public class Pippo {
       ...
    }

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Quote Originariamente inviata da Alex'87 Visualizza il messaggio
    La classe File ha il metodo exists che ti restituisce true se il file esiste già... In base a questo chiedi la conferma...
    Si verissimo, però io ho usato il tipo FileOutputStream non file.. FileOutputStream non ha il metodo exists

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,325
    Già... ma FileOutputStream è un oggetto che serve per scrivere verso una destinazione (di tipo File), non un oggetto che serve a controllare se dall'altra parte esiste già il file. Quindi, quello che devi fare è:

    1) prima crea un oggetto File,
    2) poi controlla se esiste
    3) se non esiste, crea l'OutputStream per scrivere su quel file


    Tra parentesi, il FileOutputStream puoi decidere di crearlo in sovrascrittura (costruttore con un solo parametro) o in append (costruttore con parametro booleano).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Chiarissimo! Risolto! Grazie mille!!

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.