您的位置:首页 > 编程语言 > VB

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

2014-03-26 10:38 375 查看
以前vb6的读写老写错,进入vb2010终于有些明白了。好,正戏开场:

主演: my.computer.filesystem

system.io.streamReader

system.io.streamWriter

配角:OpenFileDialog

SaveFileDialog

剧情一般都是OpenFileDialog或SaveFileDialog跟龙套,提供路径和文件名后,由主演们操作。

先调戏一下,,小演一下:

[vb] view
plaincopyprint?

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

If OpenFileDialog1.showdialog = DialogResult.OK Then

My.Computer.FileSystem.WriteAllText(OpenFileDialog1.FileName, TextBox1.Text, False)

End If

End Sub

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

[vb] view
plaincopyprint?

My.Computer.FileSystem.ReadAllText(OpenFileDialog1.FileName, System.Text.ASCIIEncoding.Default)

My.Computer.FileSystem.WriteAllText(OpenFileDialog1.FileName, TextBox1.Text, False)

注1:读时,容易乱码,加上后面参数部分

注2:写时false表示不追加,即覆盖式写入。

对于streamRead,StreamWriter

[vb] view
plaincopyprint?

Imports System.IO

Dim RT As StreamReader

RT = New StreamReader(OpenFileDialog1.FileName, System.Text.ASCIIEncoding.Default)

TextBox1.Text = RT.ReadToEnd() '读取全部

Textbox1.Text=RT.ReadLine() '一行一行读,常配合do循环

RT.Close()

Dim WT As StreamWriter

WT = New StreamWriter(SaveFileDialog1.FileName, False, System.Text.ASCIIEncoding.Default) '非追加式写入

WT.WriteLine(TextBox1.Text) ‘一行一行地写入

WT.Write(TextBox1.Text) '字串流写入

WT.Close()

可以看出stream强大,my有限制,但my更快捷。

其实这两个主演有时假戏真做,常有“沟通”

[vb] view
plaincopyprint?

Dim WT As StreamWriter

WT = My.Computer.FileSystem.OpenTextFileWriter(SaveFileDialog1.FileName, False, System.Text.ASCIIEncoding.Default)

'或:

Dim RT As StreamReader

RT = My.Computer.FileSystem.OpenTextFileReader(OpenFileDialog1.FileName, System.Text.ASCIIEncoding.Default)

这样沟通后,steam就站上台前,my就退居幕后了。

广告:

textbox1.select(0,0) 表示光标具文本框首,不选择任何文本,第一个0表示选择的起始位置,第二个0表示选择的终点位置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: