2012-04-02 79 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);