Apache Commons IO - FilenameUtils
Zapewnia metodę pracy z nazwami plików bez używania obiektu pliku. Działa na różnych systemach operacyjnych w podobny sposób. Ta klasa rozwiązuje problemy podczas przechodzenia z maszyny deweloperskiej opartej na systemie Windows na maszynę produkcyjną opartą na systemie Unix.
Deklaracja klasy
Poniżej znajduje się deklaracja dla org.apache.commons.io.FilenameUtils Klasa -
public class FilenameUtils
extends Object
funkcje
Ta klasa definiuje sześć komponentów w nazwie pliku. Rozważ przykładową lokalizację jakoC:\dev\project\file.txt. Następnie komponenty są -
- Prefiks - C: \
- Ścieżka względna - dev \ project \
- Bezwzględna ścieżka - C: \ dev \ project \
- Nazwa - plik.txt
- Nazwa podstawowa - plik
- Rozszerzenie - txt
Aby zidentyfikować katalog, dodaj separator do nazwy pliku.
Przykład klasy 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));
}
}
Wynik
Zostanie wydrukowany następujący wynik.
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