Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    23

    [java - netbeans] errore Salva

    codice:
    private void SaveActionPerformed(java.awt.event.ActionEvent evt) {
            
            if("".equals(CurrentFileDirectory)){
            
    
            JFileChooser sdChooser = new JFileChooser();
            FileNameExtensionFilter filter = new FileNameExtensionFilter("Text file", "txt");
            sdChooser.setFileFilter(filter);
            int returnval = sdChooser.showOpenDialog(null);
            
            try{
                if(returnval == JFileChooser.APPROVE_OPTION){
                File directory = sdChooser.getCurrentDirectory();
                   String path = directory.getAbsolutePath();
                   String fileName = sdChooser.getSelectedFile().getName();
                   if(fileName.contains(".txt")){
                       
                   }else{
                       fileName = fileName + ".txt";    
                   } 
                   BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(path + "\\" + fileName)));
                   bw.write(textArea.getText());
                   bw.close();}
                
            }catch(IOException e){      
        JOptionPane.showMessageDialog(null, "ERROR!");
            }
        }
        }
    in questa porzione di codice cerco di salvare , non salvare con nome un file da me scritto in un text editor fatto con netbeans. non risultano esserci errori tuttavia la funzione "salva" del text editor , a differenza di quella "salva con nome", non funziona. qualcuno potrebbe gentilmente aiutarmi a capirne il motivo ? grazie mille

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Se tu ci dicessi cosa significa "non funziona", magari anche sì.
    Io, nel codice da te postato, noto a prima vista 3 cose che non vanno:

    1)
    codice:
    if("".equals(CurrentFileDirectory)){
    e se CurrendFileDirectory fosse null o comunque diverso dalla stringa vuota? (a tal proposito, le convenzioni di nomenclatura Java vorrebbero che le variabili cominciassero con una lettera minuscola, solo le classi e le interface iniziano con la maiuscola, ma questo c'entra poco)

    2)
    codice:
    }catch(IOException e){      
        JOptionPane.showMessageDialog(null, "ERROR!");
    }
    Questo, in gergo, si chiama "ammazzare le eccezioni". Se si verifica un eccezione non saprai mai cos'è accaduto. Non molto bello, men che meno utile.

    3) Non effettui il flush() del BufferedWriter prima di chiudere il file. Generalmente se ne occupa automaticamente la JVM, ma nessuno ti garantisce che ai livelli sottostanti questo venga recepito... col risultato di trovarti con un file vuoto se i dati non sono "sufficienti" a riempire il buffer.

    Ad ogni modo, per risolvere il tuo problema, dobbiamo prima sapere che problema hai. Hai solo detto "non funziona" che vuol dire tutto e niente.


    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

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.