2012-03-15 106 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() 

希望这可能是有益的

相关问题