VB.NET 读写文本文件,终于有点明白了

以前vb6的读写老写错,进入vb2010终于有些明白了。好,正戏开场:
主演: my.computer.filesystem
system.io.streamReader
system.io.streamWriter
配角:OpenFileDialog
SaveFileDialog
剧情一般都是OpenFileDialog或SaveFileDialog跟龙套,提供路径和文件名后,由主演们操作。
先调戏一下,,小演一下:

  1. PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
  2. IfOpenFileDialog1.showdialog=DialogResult.OKThen
  3. My.Computer.FileSystem.WriteallText(OpenFileDialog1.FileName,TextBox1.Text,False)
  4. EndIf
  5. EndSub



my命名空间具有快速访问特性,常见的:
my.computer 当前(本地)计算机硬件、软件、文件 信息。
my.application 当前应用程序的信息:标题、目录、版本号。
my.forms 当前项目窗体信息
my.resources 应用 程序资源的相关信息(只读),允许用户动态获取应用程序的资源。
my.setting 应用程序设置的相关程序。存储或设置
my.user 当前机器上激活的用户信息
my.webservices 当前机器激活的WEB服务信息,也可用于访问新的WEB服务器。
比如:my.user.name 当前机器上的用户名
my.computer.clock.location 当前机器上的当地日期与时间
正式调戏:
对于my
?
    My.Computer.FileSystem.ReadAllText(OpenFileDialog1.FileName,System.Text.ASCIIEncoding.Default)
  1. My.Computer.FileSystem.WriteallText(OpenFileDialog1.FileName,False)
注1:读时,容易乱码,加上后面参数部分
注2:写时false表示不追加,即覆盖式写入。

对于streamRead,StreamWriter

?
    ImportsSystem.IO
  1. DimRTAsStreamReader
  2. RT=NewStreamReader(OpenFileDialog1.FileName,System.Text.ASCIIEncoding.Default)
  3. TextBox1.Text=RT.ReadToEnd()'读取全部
  4. TextBox1.Text=RT.ReadLine()'一行一行读,常配合do循环
  5. RT.Close()
  6. DimWTAsStreamWriter
  7. WT=NewStreamWriter(SaveFileDialog1.FileName,False,System.Text.ASCIIEncoding.Default)'非追加式写入
  8. WT.WriteLine(TextBox1.Text)‘一行一行地写入
  9. WT.Write(TextBox1.Text)'字串流写入
  10. WT.Close()
可以看出stream强大,my有限制,但my更快捷。
其实这两个主演有时假戏真做,常有“沟通”
?
    DimWTAsStreamWriter
  1. WT=My.Computer.FileSystem.OpenTextFileWriter(SaveFileDialog1.FileName,False,85); line-height:18px"> '或:
  2. RT=My.Computer.FileSystem.OpenTextFileReader(OpenFileDialog1.FileName,System.Text.ASCIIEncoding.Default)
这样沟通后,steam就站上台前,my就退居幕后了。
广告:
textBox1.select(0,0) 表示光标具文本框首,不选择任何文本,第一个0表示选择的起始位置,第二个0表示选择的终点位置。

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...