簡體   English   中英

C#使用相對路徑檢查文件的存在

[英]C# Check Existence of File Using Relative Path

之前曾有人問過這個問題,但我似乎看不到確切的解決方案。 我需要遍歷文件中使用相對路徑的某些鏈接,並檢查它們是否鏈接到存在的文件。 給定以下文件和文件夾:

C:\Level 1\Level 2\A.txt
C:\Level 1\B.txt

A.txt中可能存在一個使用相對路徑..\\B.txt鏈接到B.txt的鏈接。

我將擁有當前的遍歷目錄C:\\Level 1\\Level 2 ,並需要將其與..\\B.txt結合起來以得出C:\\Level 1\\B.txt以便可以檢查B的存在。文本。

我嘗試使用Path.Combine,但是沒有用。 還有其他想法嗎? 它需要能夠支持多個級別,例如..\\..\\..\\D.txt

Path.Combine應該與“。”配合使用。 和“ ..”相對路徑。 如果要使用兩個字符串,即path1 =“ C:\\ Level 1 \\ Level 2”和path2 =“ .. \\ B.txt”,然后調用Path.Combine(path1,path2),則返回的字符串將為“ C :\\ Level 1 \\ Level 2 \\ .. \\ B.txt”,它將用作.NET中的路徑。 然后可以使用該字符串並對其調用File.Exists,以確認該組合路徑處的文件是否存在。

如果要在Path.Combine的輸出中解析相對路徑分量“ ..”,則從Path.Combine獲取初始輸出並將其傳遞到Path.GetFullPath會將其轉換為正確的絕對路徑。 File.Exist將接受任何一種形式。 如果由於某種原因不接受它,則問題可能出在將路徑傳遞到Path.Combine中。 如果是這樣,我將用調試器檢查它們,看看發生了什么。

暫無
暫無

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

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