Hacer un filtro de ficheros con varias extensiones
Artículo por Club Developers · 01 June 2006
2849 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);