簡體   English   中英

如何在Visual Studio解決方案的項目中檢查文件是否存在於文件夾中

[英]How to check if file exists in a folder in my project in Visual Studio solution

我在項目中創建了一個文件夾。 在我的代碼中,我想確定該文件夾中是否存在文件。 我怎樣才能做到這一點 ?

----------編輯:

我將嘗試以其他方式提出問題。

我有一個包含所有啟動文件夾的mvc 4項目:Controllers,Views,Models等。我在項目中添加了另一個文件夾MyResources 在該文件夾中,我添加了一些pdf文件。 在我的一個控制器中,我有一個邏輯,必須檢查傳遞的文件名是否在該特定文件夾中。 可以說我已經傳遞了PassedFileName.pd ,我想檢查MyResources文件夾中該文件是否可用。 我嘗試使用System.IO.File.Exists(@"~/MyResources/PassedFileName.pdf")但它始終返回false 當我右鍵單擊文件本身(在解決方案資源管理器中)並查看其實際路徑是什么時: C:\\(phisical-path-on-my-machine)\\MyProjectName\\Resources\\ReturnHelpPdf.pdf 這讓我認為我需要以某種方式到達我的項目的路徑,以便我可以進行string.Format 希望您了解我的擔心。 我知道如何檢查文件系統上是否存在文件。 但是在這里,我必須檢查一些我不確定的事情,如果我有完整的信息。

您可以使用var fileExists = File.Exists(path); 要檢查文件是否存在於給定路徑中(如果文件存在),則變量fileExists將為true否則為false

當然,您也可以直接在if語句中檢查

if(File.Exists(path))
{
    ....
}
else { ... }

您可以使用File.Exists方法檢查路徑上是否存在文件。 System.IO命名空間中可用。

string filePath= @"c:\Projects\sample.txt";
if(File.Exists(filePath))
{
  //Do something
}

問題:您需要提供文件的有效physical path 使用File.Exists()方法進行檢查。

解決方案:您需要使用Server.MapPath()函數來獲取給定relative path的有效physical Path relative path

嘗試這個:

 String path=Server.MapPath(@"~/MyResources/PassedFileName.pdf");
 if(File.Exists(path))
 {
  //File Found

 }

通過編程,您可以使用System.IO.File.Exists()System.IO.Directory.Exists()方法

Visual Studio解決方案中的“通常”文件夾用於組織目的,並且在文件系統中不存在。 由於Visual Studio解決方案文件上具有XML,因此可以加載該文件並使用XPath查找文件夾的位置,以及其中是否包含任何文件。

您只能創建解決方案,文件夾,並向其中添加文件,然后在XML內部檢查Visual Studio如何存儲該信息。

如果您確實知道文件名,請使用

if(File.Exist("File path"))
{
}

如果要檢查該文件夾中是否存在任何文件,請使用

string[] files = Directory.GetFiles("Directory Path");
if(files.Length > 0)
{
//File exist
}

要解析~\\路徑,您需要使用HttpServerUtility.MapPath函數。

System.IO.File.Exists(HttpServerUtility.MapPath(@"~/MyResources/PassedFileName.pdf"))

MapPath作用是將~\\轉到項目在IIS服務器上當前正在運行的路徑。

暫無
暫無

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

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