2012-04-18 5 views
1

私はファイルの物理パスを取得しようとしていたとServer.MapPathがあなたに与える情報を得ました。しかし、私のために私のwindowform私はそれを取得していない私もSystem.Web;を使用して名前空間を使用してもまだ得ていない? たとえば、システムのどこかに「myTestClass.xml」という名前のファイルがあり、物理パスを取得する必要がある場合、ボタンクリックイベントで何をする必要がありますか?C#ファイルでServer.MapPathを使用できますか?

+1

あなたはServer.MapPathのを必要としません()をデスクトップアプリケーション内で使用する場合は、常にPath.Combine()を使用してファイル名をフォルダ名(たとえばApplication.StartupPath)で「マップ」(結合...)することができます。 –

答えて

1

WinFormアプリケーションでは、 Server.MapPathを使用します。

代わりに、アプリケーションのStartupPathに対して相対パスを使用することができます。

Directory.GetCurrentDirectory() 

EDIT:あなたはディレクトリ内のファイルを検索する場合

は、あなたが使用できる機能、たとえば:たとえば

string fileNameToFind = "*.txt"; 
string directoryToSearch = @"C:\Path\To\Folder\To\Search\In"; 
string[] files = Directory.GetFileSystemEntries(directoryToSearch, fileNameToFind, SearchOption.AllDirectories); 
foreach (string f in files) 
{ 
    Console.WriteLine("File: " + f); 
} 

Console.WriteLine("Total of " + files.Length + " files found."); 
+0

たとえば、システムのどこかに「myTestClass.xml」という名前のファイルがあり、物理パスを取得する必要がある場合、ボタンクリックイベントで何をする必要がありますか? – vettori

+0

@vettori:「どこか」とはどういう意味ですか?あなたは、特定のファイルのハードドライブを検索する関数を探していますか? – Heinzi

+0

@Kamil Lachはいそれはファイルの場所を検索して見つけるでしょう – vettori

関連する問題