Guardar fichero con una determinada extension??¿¿

corina
11 de Febrero del 2005
En la aplicación que estoy realizando tengo la opción de guardar y abrir ficheros. Para ello utilizo un JFileChooser. A la hora de guardar ficheros quiero que estos tengan una extensión predeterminada, existe alguna forma de hacerlo?

Gracias de antemano
Un saludo y a cuidarse :D

Aleister
11 de Febrero del 2005
Tal vez:

import javax.swing.*;

public class Tester extends JFrame {
public Tester() {
super();
setDefaultCloseOperation(EXIT_ON_CLOSE);

JFileChooser fileChooser = new JFileChooser();
ImageFilter imaFilter = new ImageFilter();
fileChooser.setFileFilter(imaFilter);

fileChooser.showSaveDialog(this);
}
public static void main(String arks[]) {
Tester tester = new Tester();
tester.setSize(500, 500);
tester.setVisible(true);
}
}

import java.io.File;
import javax.swing.*;
import javax.swing.filechooser.*;

public class ImageFilter extends FileFilter {

// Accept all directories and all gif, jpg, or tiff files.
public boolean accept(File f) {
if (f.isDirectory()) {
return true;
}

String extension = Utils.getExtension(f);
if (extension != null) {
if (extension.equals(Utils.tiff) ||
extension.equals(Utils.tif) ||
extension.equals(Utils.gif) ||
extension.equals(Utils.jpeg) ||
extension.equals(Utils.jpg)) {
return true;
} else {
return false;
}
}

return false;
}

// The description of this filter
public String getDescription() {
return "Just Images";
}
}

import java.io.File;

public class Utils {

public final static String jpeg = "jpeg";
public final static String jpg = "jpg";
public final static String gif = "gif";
public final static String tiff = "tiff";
public final static String tif = "tif";

/*
* Get the extension of a file.
*/
public static String getExtension(File f) {
String ext = null;
String s = f.getName();
int i = s.lastIndexOf('.');

if (i > 0 && i < s.length() - 1) {
ext = s.substring(i+1).toLowerCase();
}
return ext;
}
}

corina
11 de Febrero del 2005
Mmmmm, el código que me has puesto si no me equivoco es para filtrar el tipo de ficheros que se veran al abrir el JFileChosser, ya utilizo uno con la extensión que yo deseo. Yo me refería a como podia hacer para que un fichero a la hora de grabarlo lo hicera con una extension predefinida, es decir, cuando tu realizas un fichero en excel este se graba con la extensión ".xls". Mi pregunta era como hacer esto posible, es decir, como otorgarle una extensión predeterminada a los ficheros que yo voy creando con mi aplicación. Dicha extensión es la que utilizaré a la hora de hacer el filtro en el JFileChooser.
Finalmente he encontrado una solución, algo chapucera creo pero de momento funciona.

Gracias de todas formas, se agradece encontrar alguna contestación jejeje.
Un saludo y a cuidarse.

jorge
11 de Febrero del 2005
Escribiste que ya habias encontrado una solución como le hiciste? Podrías explicarme porfavor.

gracias