Учебники

Apache Commons IO — FilenameUtils

Предоставляет метод для работы с именами файлов без использования File Object. Он работает на разных операционных системах одинаково. Этот класс решает проблемы при переходе с машины для разработки на базе Windows на рабочую машину на основе Unix.

Декларация класса

Ниже приводится объявление для класса org.apache.commons.io.FilenameUtils.

public class FilenameUtils
   extends Object

Характеристики

Этот класс определяет шесть компонентов в имени файла. Рассмотрим пример расположения как C: \ dev \ project \ file.txt . Тогда компоненты —

  • Префикс — C: \
  • Относительный путь — dev \ project \
  • Абсолютный путь — C: \ dev \ project \
  • Имя — file.txt
  • Базовое имя — файл
  • Расширение — TXT

Чтобы определить каталог, добавьте разделитель к имени файла.

Пример класса 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));
   }
}

Выход

Будет напечатан следующий результат.