パスまたはファイル名の拡張子を別の拡張子に置き換えるにはChangeExtensionメソッドを使います。 元のパス・ファイル名に拡張子がない場合は拡張子が追加され、ピリオドが二つ以上あるファイル名の場合は一番最後のピリオド以降が置き換えられます。
ファイル名部分のうち、どの部分を拡張子と判断するかの基準はGetExtensionメソッドと同様です。 このため、UNIX系OSで隠しファイルとして扱われるドットファイル(dot file)では、ピリオドが一つだけ含まれる場合はファイル名全体が拡張子と判断され、ファイル名に対する置換が行われることになります。 この他、拡張子に関する注意点についてはGetExtensionメソッドを参照してください。
置き換える拡張子に空の文字列(String.Empty)を指定した場合、ピリオドだけの拡張子に置換されます。 一方、null
/Nothing
を指定した場合は、ピリオドも含めて拡張子が削除されます。
特に、ピリオドが一つだけ含まれるドットファイルの場合、ピリオドだけのファイル名.
、あるいは長さ0のファイル名に変換されることになるため、注意が必要です。