Apache Commons IO-FilenameUtils

File Object를 사용하지 않고 파일 이름으로 작업하는 방법을 제공합니다. 유사한 방식으로 다른 운영 체제에서 작동합니다. 이 클래스는 Windows 기반 개발 시스템에서 Unix 기반 프로덕션 시스템으로 이동할 때 발생하는 문제를 해결합니다.

클래스 선언

다음은에 대한 선언입니다. org.apache.commons.io.FilenameUtils 클래스-

public class FilenameUtils
   extends Object

풍모

이 클래스는 파일 이름 내에 6 개의 구성 요소를 정의합니다. 예제 위치를 다음과 같이 고려하십시오.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));
   }
}

산출

다음 결과를 인쇄합니다.

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