Java FileNameFilter

Java FileNameFilter
La función ListFiles () en Java se puede emplear para buscar los nombres de los archivos utilizando la interfaz FileNameFilter. Las instancias de archivo en una ubicación se devuelven si la lista () se invoca sin ningún argumento. Podemos elegir recuperar una parte de esas instancias si proporcionamos un filtro como argumento. Debemos definir la función Acept () para crear una instancia que herede el FileNameFilter. La ruta de inicio del archivo está representada por la entidad directa y su título por el nombre de archivo. El archivo se presenta en la recopilación de instancias de archivo de llamada a ListFiles () si Acept () produce verdadero. De lo contrario, la llamada a ListFiles no entregará el archivo ().

Instalar Java

Antes de comenzar con nuestro ejemplo de Java, abrimos la aplicación de shell desde el área de aplicación de la máquina Linux. Esto se debe a que usamos la aplicación de consola Shell para instalar el entorno de tiempo de ejecución Java. Para su instalación, es necesario utilizar el paquete "Apt" con el privilegio "sudo" en la instrucción "Instalar". Para la instalación del entorno de tiempo de ejecución de Java, use el nombre del paquete "predeterminado-jre" como se presenta:

Ejemplo

Utilizamos nuestro primer ejemplo de Java para mostrar cómo se puede usar una interfaz FileNameFilter para enumerar todos los archivos específicos del directorio especificado de nuestro sistema Linux. Para esto, debemos tener algunos archivos de tipo específicos en el directorio de trabajo. Primero, creamos un archivo Java llamado "Filtro.Java ”que se usa para codificar. Después de esto, creamos dos archivos de texto, hola.txt y nuevo.txt, respectivamente. Los tres archivos se crean con la consulta "toque". Ahora, el uso de la instrucción "LS" presenta los tres archivos en la carpeta de inicio.

Comenzando con el primer código de ejemplo de Java, lo hacemos lo más simple posible. Comienza con la importación de los principales paquetes de Java para utilizar el manejo del archivo. Importamos el archivo y la clase IOEXECCTION de Java.Paquete IO junto con la importación de su interfaz FileNameFilter que se utilizan para obtener una lista de archivos específicos. Primero, importando todos los paquetes requeridos, creamos una clase de "prueba" de demostración y le agregamos la implementación de la función principal (). A medida que el programa inicia su ejecución, el objeto de archivo "FOBJ" se genera utilizando la clase Archivo () de un Java, llevando la ruta del directorio de inicio como su argumento a la función Constructor.

La interfaz FileNameFilter () se usa aquí creando su objeto "TF" que se usa para filtrar los nombres de los archivos. La función pública incorporada de tipo booleano "Aceptar" está aquí para buscar y coincidir con los nombres de archivos específicos. Utiliza el directorio y el nombre de un archivo para buscar en sus parámetros desde la clase de archivo. Mientras que los nombres de todos los patrones coincidentes se convierten en minúsculas utilizando la función tolowercase () y se guardan en una variable de cadena "n". La declaración "IF" es desestimación para realizar lo principal: verificar el sufijo de archivo. Utiliza el valor de la variable "n" para que coincida con su final con el patrón específico a través de la función "Endswith" de Java.

Si los caracteres finales de un valor variable "n" coinciden con el patrón de nombre de archivo especificado, devuelve "verdadero". De lo contrario, devuelve falso. Especificamos el ".txt "para verificar todos los archivos de texto. Mientras tanto, creamos un objeto de matriz "LF" usando la clase Archivo (). Y almacenamos todos los archivos coincidentes utilizando la función de archivos de lista () de un Java que el objeto de archivo "FOBJ" pasando el objeto de filtro de texto "TF". El bucle "para" se inicializa hasta el final de una matriz "LF" para cada archivo "F". La declaración "IF" verifica si el archivo "F" es un directorio o un archivo simple a través de la función ISDirectory (). Muestra la ruta resultante de acuerdo con eso.

Para eso, utiliza la función println () de un "sistema.Out "Clase primero en la instrucción" IF "para mostrar el" Directorio "o" Archivo ". Después de esto, usamos el sistema.afuera.Declaración println () nuevamente para obtener la ruta de nombre al archivo utilizando la función getCanonicalPath () en ella. Guardamos este archivo Java antes del proceso de ejecución.

Después de ejecutar el archivo Java para el ".Patrones de archivo ", obtenemos un total de 2 rutas enumeradas para los archivos de tipos de texto en el directorio de trabajo en inicio.

También puede utilizar el mismo método para que coincida y mostrar los patrones de nombre de archivo coincidentes dentro de una carpeta que no sea el directorio de trabajo actual. Digamos que tenemos los mismos dos archivos de texto en la carpeta de documentos de nuestro sistema según la consulta "LS".

Ahora, debe actualizar la ruta al directorio donde coincidamos o buscar el patrón del nombre del archivo. Entonces, proporcionamos la ruta a la carpeta de documentos y la guardamos.

Tras la ejecución, nuevamente muestra la ruta a 2 archivos de texto - Hola.txt y nuevo.TXT.

De manera muy similar, también puede buscar otros tipos de archivos. Digamos que queremos buscar todo el ".Archivos Java ”en el directorio de inicio de nuestro sistema Linux. Reemplazar ".txt "con".Java".

La ejecución muestra la ruta al archivo Java "Filtro.Java ”en el que hemos estado trabajando.

A veces, el patrón que buscamos coincide con el nombre del directorio. Por ejemplo, agregamos el patrón "S" para buscar en la carpeta de inicio.

A cambio, la ejecución muestra las rutas a las carpetas en un directorio de inicio que contiene "s" al final.

Conclusión

Explicamos el uso de la interfaz FileNameFilter () de Java para filtrar todas las rutas de archivo que coinciden con el patrón específico en nuestro artículo. Para esto, nos aseguramos de que el entorno Java esté completamente configurado en nuestro sistema operativo Linux. También explicamos el ejemplo de Java usando la interfaz FileNameFilter para crear un objeto de filtro para filtrar las rutas de archivo específicas que contienen un patrón. Usando este ejemplo, filtramos los archivos de texto, los archivos Java y los directorios específicos del directorio de trabajo inicio y las otras carpetas también.