JavaA2Z

KAB-studio > プログラミング > JavaA2Z > ファイル区切り文字とは

ファイル区切り文字

日本語 書類区切り文字
英語 file separator
ふりがな ふぁいるくぎりもじ
フリガナ ファイルクギリモジ

解説

パス」において、ファイルディレクトリを切り分ける文字
 
ディレクトリAAAにファイルb.txtが入っている」ということをパスで表現する場合、「AAA/b.txt」もしくは「AAA\b.txt」と記述する。
この「/」や「\」が「ファイル区切り文字」である。

ファイル区切り文字はOSやプラットフォームによって異なる。
/」は主にUNIX系で使用される。
\」は主にWindows系で使用される。
改行文字の取得は、システムプロパティの「file.separator」で取得できる。SystemクラスのgetProperty()メソッド"file.separator"を指定することで、実時のOSでの、標準ファイル区切り文字が文字列として返される。
また、この文字Fileクラスのseparatorフィールド及びseparatorCharフィールドにも格納されているため、これらを使用してもよい。
 
Fileクラスで使用する場合には、それぞれのOSで使用されているファイル区切り文字を用いることが望ましい。
Fileクラスに異なるOSのファイル区切り文字を使用すると、うまくいったりうまくいかなかったりと実装依存となる。たとえばWindowsでは「\」「/」両方使用できるが、UNIX系では「/」のみである。
また、相対パス絶対パスを取得した際に返されるパスには、実時のOSで使用されるファイル区切り文字が用いられる。
これらの問題による不具合を避けるためにも、ファイルの操作は文字列的にわず、Fileクラスを用いてうことが望ましい。パスの連結はコンストラクタで、親ディレクトリの取得はgetParentFile()メソッドで取得できる。
どうしても文字列として処理する必要がある場合には、システムプロパティ等からファイル区切り文字を取得し、それを使用した方がいいだろう。
 
プログラムではない場合、たとえばツールの設定に使用する場合には、どちらかのみ使用可能、もしくはOSに依存する場合もあるため注意すること。

(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
import java.io.File;

public class Sample
{
    public static void main( String[] args )
    {
        // 絶対パスを取得します。
        // 実行時のカレントディレクトリは以下の通りとします。
        // Windowsの場合→ D:\Sample\test
        // UNIX系の場合 → /Sample/test
        // これらのディレクトリの中に「src」というディレクトリが
        // あり、それを指定したとします。
        File file = new File( "src" );
        System.out.println( file.getAbsolutePath() );
        // ・Windowsの出力結果
        // D:\Sample\test\src
        // ・UNIX系の出力結果
        // /Sample/test/src

        // この絶対パスの、「Sample」「test」「src」といった
        // ファイル、ディレクトリを区切る「\」や「/」が
        // 「ファイル区切り文字」と呼ばれるものです。

        // OS固有の改行文字は、システムプロパティ"file.separator"で
        // 取得できます。
        String fileSeparator = System.getProperty( "file.separator" );
        System.out.println( "file.separator=" + fileSeparator );
        // ・Windowsの出力結果
        // file.separator=\
        // ・UNIX系の出力結果
        // file.separator=/

        // また、Fileクラスのstaticフィールドであるseparator及び
        // separatorCharフィールドでも取得できます。
        System.out.println( "File.separator=" + File.separator );
        System.out.println( "File.separatorChar=" + File.separatorChar );
        // ・Windowsの出力結果
        // File.separator=\
        // File.separatorChar=\
        // ・UNIX系の出力結果
        // File.separator=/
        // File.separatorChar=/
    }
}
// Sample.java
import java.io.File;

public class Sample
{
    public static void main( String[] args )
    {
        // 絶対パスを取得します。
        // 実行時のカレントディレクトリは以下の通りとします。
        // Windowsの場合→ D:\Sample\test
        // UNIX系の場合 → /Sample/test
        // これらのディレクトリの中に「src」というディレクトリが
        // あり、それを指定したとします。
        File file = new File( "src" );
        System.out.println( file.getAbsolutePath() );
        // ・Windowsの出力結果
        // D:\Sample\test\src
        // ・UNIX系の出力結果
        // /Sample/test/src

        // この絶対パスの、「Sample」「test」「src」といった
        // ファイル、ディレクトリを区切る「\」や「/」が
        // 「ファイル区切り文字」と呼ばれるものです。

        // OS固有の改行文字は、システムプロパティ"file.separator"で
        // 取得できます。
        String fileSeparator = System.getProperty( "file.separator" );
        System.out.println( "file.separator=" + fileSeparator );
        // ・Windowsの出力結果
        // file.separator=\
        // ・UNIX系の出力結果
        // file.separator=/

        // また、Fileクラスのstaticフィールドであるseparator及び
        // separatorCharフィールドでも取得できます。
        System.out.println( "File.separator=" + File.separator );
        System.out.println( "File.separatorChar=" + File.separatorChar );
        // ・Windowsの出力結果
        // File.separator=\
        // File.separatorChar=\
        // ・UNIX系の出力結果
        // File.separator=/
        // File.separatorChar=/
    }
}

この単語を含むページ

「みだし」に含まれているページ

「解説」に含まれているページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2010/02/21
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。