IO de Apache Commons - FilenameUtils

Proporciona un método para trabajar con nombres de archivos sin utilizar File Object. Funciona en diferentes sistemas operativos de manera similar. Esta clase resuelve problemas al pasar de una máquina de desarrollo basada en Windows a una máquina de producción basada en Unix.

Declaración de clase

A continuación se muestra la declaración de org.apache.commons.io.FilenameUtils Clase -

public class FilenameUtils
   extends Object

Caracteristicas

Esta clase define seis componentes dentro de un nombre de archivo. Considere una ubicación de ejemplo comoC:\dev\project\file.txt. Entonces los componentes son -

  • Prefijo - C: \
  • Ruta relativa - dev \ project \
  • Ruta absoluta - C: \ dev \ project \
  • Nombre: file.txt
  • Nombre base - archivo
  • Extensión - txt

Para identificar un directorio, agregue un separador al nombre del archivo.

Ejemplo de clase FilenameUtils

IOTester.java

import java.io.IOException;
import org.apache.commons.io.FilenameUtils;

public class IOTester {
   public static void main(String[] args) {
      try {
         //Using FilenameUtils
         usingFilenameUtils();
      } catch(IOException e) {
         System.out.println(e.getMessage());
      }
   }

   public static void usingFilenameUtils() throws IOException {
      String path = "C:\\dev\\project\\file.txt";
      System.out.println("Full Path: " +FilenameUtils.getFullPath(path));
      System.out.println("Relative Path: " +FilenameUtils.getPath(path));
      System.out.println("Prefix: " +FilenameUtils.getPrefix(path));
      System.out.println("Extension: " + FilenameUtils.getExtension(path));
      System.out.println("Base: " + FilenameUtils.getBaseName(path));
      System.out.println("Name: " + FilenameUtils.getName(path));

      String filename = "C:/commons/io/../lang/project.xml";
      System.out.println("Normalized Path: " + FilenameUtils.normalize(filename));
   }
}

Salida

Imprimirá el siguiente resultado.

Full Path: C:\dev\project\
Relative Path: dev\project\
Prefix: C:\
Extension: txt
Base: file
Name: file.txt
Normalized Path: C:\commons\lang\project.xml