2011-01-27 19 views
1

私はここで始まる前に書かれたいくつかのコードを持っています(毎日のWTFの提出のように聞こえます)。処理のためにXMLファイルを読み込みます(投げられる行は単純化されています。 )。VB.Net - FileInfo.FullName - 何か不足していますか?

Try 
    docData.Load(strPath) 
Catch oError As Exception 
    Throw New Exception("There is a load or parse error in the xml") 
End Try 

oFileInfo = New FileInfo(strPath) 
strFileName = oFileInfo.FullName 
oFileInfo = Nothing 

strFileName他の方法

strPathに渡される、方法で再び使用されるMSDNからファイル

を削除するとき、この方法で再び使用される:

FullName:ディレクトリまたはファイルのフルパスを取得します。 (FileSystemInfoから継承されます。)

は確かに、その後、それは単にstrPathにすでにあるものを返していると、単純な

strFileName = strPath

、あるいは全くstrFileNameを廃止し、strPathを使用すると交換することができます全体を通して。

何か不足していますか? FileInfo.FullNameは何ですか?

私はそれをチェックし、ファイルが存在するれましたが、それはすでにXmlDocument.Load周りTry...Catchでの世話をされていて、ほかに、File.Exists(strPath)がはるかに簡単になると思いました。

答えて

3

FileInfo.FullNameは、入力strPathが相対パスであってもフルパスを返します。

+0

ここのパスは常にUNCです – Shevek

2

@Joeが言っていることは、技術的にはstrPathが相対パスである可能性があるということです。これをFileInfoに渡してFullNameプロパティを取得すると、絶対パスに変換されます。あなたはすべてがUNCであると言いますが(それによって、絶対パスを意味するとも仮定しています)、ある時点でこれは相対パスで呼び出される可能性があります。あなたは常に絶対パスに対処するだろうことがわかっている場合たとえば、このコードは、おそらく今、そのコードの出力c:\Users\...\bin\somefile.bin

​​

取り除くことができます。

関連する問題