2012-04-02 78 views
-7

我正在嘗試讀取文件夾中的所有文件。如果名稱是index.html,則不會有任何反應。它甚至沒有在瀏覽器中打開文件。在c中打開文件#

這是我使用的代碼。

foreach (System.IO.FileInfo thefile in fiArr) 
{ 
    if (thefile.Name == "index.html") 
    { 
     FileStream fileStream = new FileStream(path + thefile.Name, FileMode.Open, FileAccess.Read); 
    } 
} 
+2

你說的是什麼瀏覽器呢?你有什麼錯誤嗎?例外? – Oded 2012-04-02 11:09:07

+0

我的意思是谷歌瀏覽器,因爲有從網站 – Kiwimoisi 2012-04-02 11:09:28

+0

index.html我沒有例外。這只是沒有做任何事情。 – Kiwimoisi 2012-04-02 11:09:47

回答

2

所有你的代碼這是創建一個FileStream指向這個文件。所以你可以讀取文件並在內存中獲取它的內容。但你不能指望它在任何瀏覽器中打開。你可以使用的Process.Start方法使用與此文件類型關聯的默認程序打開文件:

foreach (System.IO.FileInfo thefile in fiArr) 
{ 
    if (thefile.Name == "index.html") 
    { 
     Process.Start(thefile.Name); 
    } 
} 
+0

謝謝這是我所需要的。 – Kiwimoisi 2012-04-02 11:15:33

+0

@Emged - 你的問題被標記爲asp.net。請注意,調用Process.Start將僅在主機/服務器機器上打開瀏覽器。在開發過程中,這可能沒有問題,但一旦部署完畢,您將在服務器上打開一個可能沒有人會看到的服務器。 – Fishcake 2012-04-02 12:52:49

0

你的代碼是放文件的內容爲FileStream,所以你可以使用它你碼。接下來你需要對FileStream做些什麼。

如果你想使用默認的應用程序(即出現在瀏覽器)使用這個打開的文件:

System.Diagnostics.Process.Start(thefile);