HOWTO · Java

Java のファイル区切り

このチュートリアルでは、Java のファイル区切りを示します。

このページの内容

このチュートリアルでは、Java のファイル区切りを示します。

Java のファイル区切り

ファイル区切り文字は、ディレクトリを区切るために使用される文字です。 たとえば、Unix は / を使用し、Windows は \ をファイル区切りとして使用します。 異なるオペレーティング システムは異なるファイル セパレータを使用するため、適切に処理する必要があります。

Java には、ファイルとパスを適切に処理するメソッドが用意されているため、別のプラットフォームでコードを使用できます。 このチュートリアルでは、Java でのファイル区切りのさまざまな方法を示します。

システム プロパティを使用したファイル セパレータ

ファイル区切りを取得するために、Java にはシステム プロパティ file.separator があります。 このプロパティを Unix で使用すると /, が返され、Windows では \ が返されます。

例を試してみましょう:

package delftstack;

public class Example {
  public static void main(String[] args) {
    // windows \, unix /
    String File_Separator = System.getProperty("file.separator");
    System.out.println("The file separator used for this system is: " + File_Separator);
  }
}

上記のコードはファイル セパレータを取得し、システム プロパティを使用して出力します。 出力を参照してください:

The file separator used for this system is: \

Java IO を使用したファイル区切り

Java IO パッケージには、ファイル区切りを取得する機能もあります。 File クラスのメソッド File.separator は、ファイル セパレータを返します。

Java IO を使用したファイル区切りの例を試してみましょう。

package delftstack;

import java.io.File;

public class Example {
  public static void main(String[] args) {
    // windows \, unix /
    String File_Separator = File.separator;
    System.out.println("The file separator used for this system is: " + File_Separator);
  }
}

上記のコードは、ファイル セパレータを取得し、Java IO パッケージを使用して出力します。 出力を参照してください:

The file separator used for this system is: \

Java NIO を使用したファイル区切り

Java 7 パッケージ NIO は、Java でファイル区切りを取得するメソッドも提供します。 メソッド FileSystems.getDefault().getSeparator() は、Java でファイル区切りを取得します。

Java NIO を使用したファイル区切りの例を試してみましょう。

package delftstack;

import java.nio.file.FileSystems;

public class Example {
  public static void main(String[] args) {
    // windows \, unix /
    String File_Separator = FileSystems.getDefault().getSeparator();
    System.out.println("The file separator used for this system is: " + File_Separator);
  }
}

上記のコードは、ファイル セパレータを取得し、Java NIO パッケージを使用して出力します。 出力を参照してください:

The file separator used for this system is: \

システム プロパティを持つファイル セパレータは、System.setProperty() を使用してオーバーライドできます。 また、IO パッケージと NIO パッケージの両方でファイル区切り文字をオーバーライドすることはできません。 常に対応するファイル区切りを返します。

ファイル区切りとパス区切りの違い

ファイルの区切り文字は / または \ の 2 文字のみであり、パスの区切り文字はこれらまたはその他の文字です。 どちらも用途に違いがあります。

  1. ファイル区切り文字は、特定のファイルへのパスを分割するために使用される文字 / または \ のいずれかです。 たとえば、Windows では C:\Users\Sheeraz です。
  2. パス セパレータは、個々のファイル パスをファイル パスの完全なリストから分離します。 たとえば、環境変数 PATH を設定する場合、; を使用します。 異なるパスのパスセパレーターとして、パスセパレーターは;です。