複数の絶対ファイル パスを 1 つの文字列に連結する必要があります。しかし、文字を使用すると、それがファイル名またはパスの一部になる可能性があり、文字列が混乱します。どのセパレーターを使用できますか?
今、私は File.pathSeparator を使用しています。Windows 7 の場合は ';' です。ただし、この文字はファイル名の一部にすることができます。
複数の絶対ファイル パスを 1 つの文字列に連結する必要があります。しかし、文字を使用すると、それがファイル名またはパスの一部になる可能性があり、文字列が混乱します。どのセパレーターを使用できますか?
今、私は File.pathSeparator を使用しています。Windows 7 の場合は ';' です。ただし、この文字はファイル名の一部にすることができます。
File.pathSeparatorを使用できます。
システム依存のパス区切り文字。便宜上、文字列として表されます。この文字列には、単一の文字、つまりpathSeparatorCharが含まれています。
システム依存のパス区切り文字。このフィールドは、システム プロパティ path.separator の値の最初の文字を含むように初期化されます。この文字は、パス リストとして指定された一連のファイル内のファイル名を区切るために使用されます。UNIX システムでは、この文字は「:」です。Microsoft Windows システムでは「;」です。
Windows または Unix (Mac を含む) では、 ASCII NUL 文字\0
をパス名の一部にすることはできないため、おそらく区切り文字として使用できます。
NUL 文字は C の文字列終端文字であるため、ファイル パスでは使用できません。これらのオペレーティング システムの API は、文字列を使用してファイル パスを表す C ライブラリとして定義されています。
区切り文字として印刷可能な文字を使用する場合は、エスケープ コード スキームを使用する必要があります。最も単純な方法の 1 つは、セパレーターを 2 倍にすることです。# をセパレーターとして使用するとします。リストにパスを追加するには、パスに既に存在する # を ## に置き換えます。