Hacer un filtro de ficheros con varias extensiones
Artículo por Club Developers · 01 June 2006
3205 vistas
Veamos un ejemplo de implementación de FileFilter (package javax.swing.filechooser) que controla varias extensiones.
Y podemos usarlo asÃ:
java
// descripción y extensiones aceptadas por el filtro private List<String> extensions; // constructor a partir de la descripción if(description == null){ } this.description = description; this.extensions = new ArrayList<String>(); } // implementación del FileFilter if(file.isDirectory() || extensions.size()==0) { return true; } if(nombreFichero.endsWith(extension)){ return true; } } return false; } buffer.append(" ("); buffer.append(extension).append(" "); } return buffer.append(")").toString(); } // métodos de ayuda if(description == null){ } this.description = description; } if(extension == null){ } extensions.add(extension); } extensions.remove(extension); } public void clearExtensions(){ extensions.clear(); } public List<String> getExtensions(){ return extensions; } }
Y podemos usarlo asÃ:
java
FiltreExtensible filtre = new FiltreExtensible("Ficheros Java"); filtre.addExtension(".java"); chooser.addChoosableFileFilter(filtre); chooser.showOpenDialog(null); filtre.addExtension(".class"); chooser.showOpenDialog(null); filtre.setDescription("Ficheros class"); filtre.removeExtension(".java"); chooser.showOpenDialog(null); filtre.setDescription("Todos los ficheros"); filtre.clearExtensions(); chooser.showOpenDialog(null);


