コミュニティでの活動の履歴として、自身(Orator/魔界の仮面弁士)が掲示板・Mailing List・Newsgroup等へ発言した内容の中で、再利用できそうな物を拾い出して、掲載しています。

« 2005年06月 | Main | 2005年12月 »
[.NET]System.IO.Path.Combineでコロンが許可されている理由 / 2005年10月17日(月)

.NET Framework の「System.IO.Path.Combineメソッド」で使える文字についてです。


川俣さんの技術雑記に、このような検証と考察がありました。

":"ですが、これが良く分かりません。":"はドライブ名などの区切り文字であって、これをファイル名に許す必然性が分かりません。"\\.\C:"のような表記に対応するために許しているとも考えられますが、おそらくドライブ表記が2回出てくるパスは無いような気がするので(根拠無し)、既に先頭に"c:"が付いているパス名にもう1回":"が入るのは不正なパスであるような気がします。しかし、Combineメソッドは例外を投げる対象としていません。

実は、NTFSでフォーマットされたディスクに対しては、ドライブ文字区切り以外にてコロン":"を含むパスがサポートされており、FileSystemObjectや、CreateFile API などから利用する事が可能です。

("C:\MyFile.TXT:MyData"のようなパスがありうる)

もしかしたら、そのことに関係した仕様になっているのかもしれませんね。


参考リンク

VB.NETでの実験サンプル。


 
Posted at 12:06 / .NET / この記事のURL
コメント(4)
P R

Microsoft Most Valuable Professional, Visual Developer - Visual BasicMSMVP for Visual Basic


Global Media Online INC.