Apache Commons IO - Nom de fichierUtils
Fournit une méthode pour travailler avec les noms de fichiers sans utiliser l'objet de fichier. Il fonctionne sur différents systèmes d'exploitation de la même manière. Cette classe résout les problèmes lors du passage d'une machine de développement Windows à une machine de production Unix.
Déclaration de classe
Voici la déclaration pour org.apache.commons.io.FilenameUtils Classe -
public class FilenameUtils
extends Object
traits
Cette classe définit six composants dans un nom de fichier. Prenons un exemple d'emplacement commeC:\dev\project\file.txt. Ensuite, les composants sont -
- Préfixe - C: \
- Chemin relatif - dev \ project \
- Chemin absolu - C: \ dev \ project \
- Nom - file.txt
- Nom de base - fichier
- Extension - txt
Pour identifier un répertoire, ajoutez un séparateur au nom de fichier.
Exemple de classe 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));
}
}
Production
Il imprimera le résultat suivant.
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