簡體   English   中英

VB.Net-FileInfo.FullName-我缺少什么嗎?

[英]VB.Net - FileInfo.FullName - Am I missing something?

我有一些在我開始這里之前寫的代碼(聽起來像是The Daily WTF的提交!),它加載一個xml文件進行處理(Throw行已被簡化以隱藏罪魁禍首的身份,否則逐字逐句地顯示)。

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)會更簡單。

即使輸入的strPath是相對路徑, FileInfo.FullName也會返回完整路徑。

@Joe的意思是從技術上講strPath可能是相對路徑。 當您將其傳遞到FileInfo並檢索FullName屬性時,它將轉換為絕對路徑。 盡管您說一切都是UNC(並且我假設您也表示絕對路徑),但有可能在某一點用相對路徑調用它。 例如,此代碼將輸出c:\\Users\\...\\bin\\somefile.bin

    Dim F As New System.IO.FileInfo("..\somefile.bin")
    Trace.WriteLine(F.FullName)
    Me.Close()

如果您知道您將始終使用絕對路徑,那么現在就可以刪除該代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM