2012-03-15 109 views
0

你好,我有一個簡單的程序,打開一個文本文件,修改它,然後我想要做的是保存爲文本文件,當你點擊「轉換」按鈕,該exe文件如所在目錄「C:\用戶\博代昂\桌面 - Distro--」等,所以說,我有我想要保存它的文本和一個被稱爲「轉換」按鈕,一個RichTextBox,當我點擊轉換,將其保存在使用名稱「main.html」來編程根文件夾,我也希望它覆蓋任何具有相同名稱的文件。非常感謝你:)只需點擊一個按鈕,將文本文件保存在程序/ exe文件存在的文件夾中?

+1

雖然下面的所有答案都是正確的,並且對您的問題作出了迴應,但我會指出,由於最新的MS操作系統(Vista,7)引入的權限限制,寫入主要exe文件所在的文件夾並非總是可行的。在這種情況下,更好的方法是在文檔或ProgramData文件夾中爲您的應用程序數據創建個人目錄 – Steve 2012-03-15 10:27:45

回答

1
Dim appDir = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) 
Dim filePath = System.IO.Path.Combine(appDir, "main.html") 
System.IO.File.WriteAllText(filePath, text) 

HOW TO: Determine the Executing Application's Path

+0

非常感謝您的快速回復!但我得到[System.IO.File.WriteAllText(文件路徑,文本)的這部分代碼錯誤,它說:「URI格式不被支持。」 ? – happycamper1221 2012-03-15 09:07:35

+0

@ happycamper1221:對不起,使用'GetExecutingAssembly()Location'代替(校正)。 – 2012-03-15 09:21:45

+0

你能否像我以前那樣給我一個完整的代碼示例 - 我不是那麼好的vb。謝謝:) – happycamper1221 2012-03-15 09:28:41

0

這會給你你的可執行文件的位置:

Assembly.GetEntryAssembly().Location 
0

另一種方法,

Dim myWriter As New System.IO.StreamWriter(Application.StartupPath & "\main.html") 

myWriter.Write(RichTextBox1.Text) 

myWriter.Close() 

希望這可能是有益的

相關問題