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