TestFilenameFilter.java
import java.io.*;
public class TestFilenameFilter{
public static void main( String args[] ) {
// Buscar en el raiz del disco C
// Se coloca doble slash puesto que es un caracter de escape.
// en literales cadenas en java se realiza:
// \n -> retorno de carro
// \t -> tabulador
// \\ -> slash
// \" -> comillas
String directorio = "c:\\";
// el directorio es un archivo del sistema operativo
// fileDirectorio es este archivo en el programa
File fileDirectorio = new File(directorio);
// se crea un filtro de archivos que contengan java.
FilenameFilter filtro = new FilterJava("java");
// se aplica el filtro al directorio.
String [] contenido = fileDirectorio.list(filtro);
for (int i=0; i < contenido.length; i++) {
// Se coloca doble slash puesto que es un caracter de escape.
// en literales cadenas en java se realiza:
// \n -> retorno de carro
// \t -> tabulador
// \\ -> slash
// \" -> comillas
String directorio = "c:\\";
// el directorio es un archivo del sistema operativo
// fileDirectorio es este archivo en el programa
File fileDirectorio = new File(directorio);
// se crea un filtro de archivos que contengan java.
FilenameFilter filtro = new FilterJava("java");
// se aplica el filtro al directorio.
String [] contenido = fileDirectorio.list(filtro);
for (int i=0; i < contenido.length; i++) {
System.out.println(contenido[i]);
}
} FilterJava.java
import java.io.*;
public class FilterJava implements FilenameFilter {
// Esta clase implementa un filtro de archivos
// usando la interface FilenameFilter
// mediante el método accept
String mascara;
FilterJava(String mascara) {
this.mascara = mascara;
}
public boolean accept(File directorio, String nombre) {
public boolean accept(File directorio, String nombre) {
return nombre.indexOf(mascara) != -1;
}
} Ejercicio: Modifique y muestre todos los archivos java del disco duro y su ubicación.
TestFilenameFilterRecursivo.java
import java.io.*;
public class TestFilenameFilterRecursivo{
public static void main( String args[] ) {
String directorio = "c:\\";
filtrarDirectorio(directorio);
} filtrarDirectorio(directorio);
public static void filtrarDirectorio(String directorio) {
// el directorio es un archivo del sistema operativo
// fileDirectorio es este archivo en el programa
File fileDirectorio = new File(directorio);
// se crea un filtro de archivos que contengan java.
FilenameFilter filtro = new FilterJava("java");
// se aplica el filtro al directorio.
String [] contenido = fileDirectorio.list(filtro);
// en caso no tenga contenido no se procesara
if (contenido==null) return;
// se muestra todos los archivos con java
if ( contenido.length > 0 )
System.out.println(directorio);
for (int i=0; i < contenido.length; i++) {
System.out.println(" "+contenido[i]);
}
// se recorre todo el directorio para
// obtener sus subdirectorios
String [] lista = fileDirectorio.list();
for (int i=0; i < lista.length; i++) {
// se recorre todo el directorio para
// obtener sus subdirectorios
String [] lista = fileDirectorio.list();
for (int i=0; i < lista.length; i++) {
// se crea un objeto file del subdirectorio
File fileSubDirectorio = new File(fileDirectorio,
lista[i]);
if (fileSubDirectorio.isDirectory()) {
File fileSubDirectorio = new File(fileDirectorio,
lista[i]);
if (fileSubDirectorio.isDirectory()) {
// se llama recursivamente la función
filtrarDirectorio(fileSubDirectorio.
getAbsolutePath());
} filtrarDirectorio(fileSubDirectorio.
getAbsolutePath());
}
}
0 comentarios:
Publicar un comentario