Commons-io-filenameutils

提供:Dev Guides
移動先:案内検索

Apache Commons IO-FilenameUtils

ファイルオブジェクトを使用せずにファイル名を操作する方法を提供します。 同様の方法で異なるオペレーティングシステムで動作します。 このクラスは、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