2016-05-01 8 views
-1

Hallo Leute kann mir jemand den richtigen Code sagen, damit eine Bestätigungsmeldung beim Überschreiben der Datei gestellt wird?Überschreiben JFileChooser Java

{ 
    int index = cCont.getSelectedIndex(); 
    log.info("index=" + index); 
    if (m_att.getEntryCount() < index) 
     return; 
    String fileName = getFileName(index); 
    String ext = fileName.substring (fileName.lastIndexOf(".")); 
    log.config("Ext=" + ext); 

    JFileChooser chooser = new JFileChooser(); 
    chooser.setDialogType(JFileChooser.SAVE_DIALOG); 
    chooser.setDialogTitle(Msg.getMsg(Env.getCtx(), "AttachmentSave")); 
    File f = new File(fileName); 
    chooser.setSelectedFile(f); 
    // Show dialog 
    int returnVal = chooser.showSaveDialog(this); 
    if (returnVal != JFileChooser.APPROVE_OPTION) 
     return; 
    File saveFile = chooser.getSelectedFile(); 
    if (saveFile == null) 
     return; 
    log.config("Save to " + saveFile.getAbsolutePath()); 
    m_attachment.getEntryFile(index, saveFile); 
} 

Antwort

0
JFileChooser chooser = new JFileChooser(); 
chooser.setFileFilter(new FileNameExtensionFilter("Text File", "txt")); 
chooser.setMultiSelectionEnabled(false); 

int returnValue = chooser.showSaveDialog(mainFrame); 
if (returnValue != JFileChooser.APPROVE_OPTION) { 
    return; 
} 

File saveFile = chooser.getSelectedFile(); 

if (saveFile.exists()) { 

    int returnVal = JOptionPane.showConfirmDialog(mainFrame, 
      "Overwrite existing file " + saveFile + "?", "Overwrite warning", JOptionPane.OK_CANCEL_OPTION, 
      JOptionPane.WARNING_MESSAGE); 
    if (returnVal == JOptionPane.CANCEL_OPTION) { 
     return; 
    } 

    try { 
     saveFile.delete(); 
    } catch (Exception ex) { 

    } 
} 
1

Alles, was ein JFileChooser tut, ist die File zurück, die ausgewählt wurde. Sobald Sie die ausgewählte Datei erhalten haben, müssen Sie prüfen, ob sie existiert, und den Benutzer zur Bestätigung auffordern.

So würde der Grund Code sein:

if (saveFile.exists()) 
{ 
    int response = JOptionPane.showConfirmDialog(...); 
} 

Überprüfen Sie den Abschnitt aus der Swing-Tutorial auf How to Use Option Panes für weitere Informationen und Arbeitsbeispiele.