2013-02-26 92 views
-3

我有一個需要打開的html文件。使用相對路徑打開html文件

我用這個代碼

try 
{ 
    Process.Start("HelpPage.htm"); 
} catch (Exception ex) { 
    MessageBox.Show(ex.Message); 
} 

當你看到我使用的相對路徑文件。 但它沒有奏效。 它拋出一個錯誤:

THE SYSTEM CANNOT FIND THE FILE SPECIFIED

+0

究竟是什麼問題? – jAC 2013-02-26 11:28:08

+0

你需要打開閱讀?您想做什麼? – 2013-02-26 11:30:59

+0

請告訴我們代碼?什麼是錯誤或問題?你有例外嗎? – Tomtom 2013-02-26 11:37:41

回答

0

從你寫的是什麼,我認爲問題是,你的路徑 - 因爲你已經知道的 - 相對的。

try{ 
    Process.Start("HelpPage.htm"); 
} catch (Exception ex) { 
    MessageBox.Show(ex.Message); 
} 

此代碼要打開你的應用程序運行在同一文件夾中的文件,你的ExecuteablePath:

System.Reflection.Assembly.GetExecutingAssembly().Location //This is the application path 

現在,如果文件沒有在該位置存在的,它不能被打開。 因此,下面這個結果是FileNotFoundException被拋出。

現在:

如果你想打開X檔案:\ MyFolder文件\ myFolder2 \ myHTMLfile.html

你必須絕對文件路徑傳遞到您的應用程序:

你可以通過

Process.Start("X:\\myFolder\\myFolder2\\myHTMLfile.html"); 

在這裏做到這一點你掩蓋反斜槓與另一個反斜槓或

Process.Start(@"X:\myFolder\myFolder2\myHTMLfile.html"); 

The advantage of @-quoting is that escape sequences are not processed, which makes it easy to write [and read]

欲瞭解更多信息看here

編輯:

如果該文件是在ApplicationDirectory存在,這link能有所幫助。