JFileChooser: Speichern-Dialog: Datei-Endung automatisch hinzufügen

stookie

Grünschnabel
Hallo zusammen,

ich nutze einen JFileChooser Speichern-Dialog um pdf-Dateien zu speichern.

Code:
  JFileChooser chooser = new JFileChooser("c:/Dokumente und Einstellungen/edv-praktikant/Eigene Dateien");
  chooser.setMultiSelectionEnabled(false); 
  chooser.setFileFilter( new FileFilter() 
  {
  	public boolean accept(File f) 
  	{
  		return f.isDirectory() || f.getName().toLowerCase().endsWith(".pdf");
  	}
  	public String getDescription() 
  	{
  		return "Adobe PDF-Dateien (*.pdf)";
  	}
  });
  
  int result = chooser.showSaveDialog(null);
      
  if (result == JFileChooser.APPROVE_OPTION)
  file = chooser.getSelectedFile();
  			 
  FileOutputStream fout = new FileOutputStream(file);

Klappt auch wunderbar, solange der User den kompletten Dateinamen mit der Endung .pdf angibt. Ich möchte gerne wissen, ob und wie ich das realisiere, wenn der User die Endung vergisst, dass diese dann automatisch angehängt wird. Schließlich sorgt der FileFilter ja dafür, dass nur pdf-Dateien angezeigt werden. Dann sollte es ja auch eine Möglichkeit geben, dass alles was ich speichere die Endung .pdf bekommt. Nur wie?

Danke im Voraus

Katrin
 
Hi Kartin,

versuche es mal hiermit...

Code:
 if (chooser.getSelectedFile().toString().endsWith(".pdf")) {
 // ok
 } else {
 // füge .pdf hinzu
 }
 
Hallo,

habe versucht, es so zu lösen:

Code:
  if (!chooser.getDescription(file).endsWith(".pdf"))
  chooser.getDescription(file).concat(".pdf");

Mit .geSelectedFile() wollte ich nicht arbeiten, weil es ja darum geht, einen neuen Dateinamen ohne Erweiterung eingeben zu können. Die bestehenden, die man auswählen kann, haben ja die richtige Endung.

Klappt aber nicht. Die Endung wird nie hinzugefügt. Warum?

Gruß

Katrin
 
Ist schon richtig wie eldevino das sagt:
Code:
File pdf = null;
String path = c.getSelectedFile().getPath();
 
if (!path.toLowerCase().endWith(".pdf"))
  path = path + ".pdf";
 
pdf = new File(path);
 

Neue Beiträge

Zurück