VB.NET 读写HTML 文件,VB.NET 简单介绍文件的读写----流类

本文介绍了VB.NET中处理数据流的类,包括FileStream、MemoryStream、BinaryReader、BinaryWriter、StringReader和StringWriter。重点讲述了如何使用这些类进行文件的读写操作,如创建、读取、写入和关闭文件流,以及在内存中处理字节和文本。此外,还展示了如何在字符串和文件之间转换数据。示例代码详细展示了各种流类的使用方法,适用于VB.NET开发者进行文件操作和数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们知道在计算机内部处理的数据信息以及存放在在磁盘上的文件,对于计算机而言就是一堆二进制数(字节)。这些字节(甚至是位,但计算机通常按字节对它们进行分组)。只有在程序解析了这些字节时,它们才具有了对用户更有价值的高级含义。

使用高级程序设计语言处理数据的过程,有时候把数据看作字节能使用更多的方法处理该数据。

Visual Studio使用流的概念,把在计算机内部(或者网络中)传输的数据看作像河里流淌的水流,这些数据就是流动的数据流。

一种类似字节的数据类型是stream----―系列有序字节。文件、流向网络的数据、遍历队列的消息甚至在内存中的数组,所有这些都适用于上述描述。

定义流的抽象概念使得应用程序能统一处理这些不同类型的对象。如果一个加密或序列化例程操作一个普通字节流,那么程序无需知道该流是否表示文件、内存块或流向网络的数据。

Visual Studio 提供操作不同类型流的几个类,还提供处理更抽象级数据类的较高级别类。例如,它提供处理表示文件和目录的流。

本文介绍一些用于操作流的类。只要想通过介绍一些较低级别的类(很少使用)和一些较高级别的类(比较容易读写字符串和文件),使得读者快速了解并掌握读写字符串和文件。

下面简要描述了最有用的流类。

1.FileStream

类:读写文件中的字节。

2.MemoryStream类:读写内存中的字节。

3.BinaryReader、BinaryWriter类:读写流中的特定数据类型。

4.StringReader、StringWriter类:读写字符串中带有或没带新行的文本。

5.StreamReader、StreamWriter类:读写流中带有或没带新行的文本(通常是文件流)。

第1节 Stream

Stream类定义了派生流类必须具有的属性和方法。程序便用这些属性和方法能够执行相对普通的流任务,例如,确定该流是否允许写入。

Stream类最有用的属性

1.CanRead属性:如果流支持读取,则返回True。

2.CanSeek属性:如果流支持查找流中的特定位置,则返回True。

3.CanTimeout属性:如果流支持读写操竹超时,则返回True。

4.CanWrite属性:如果流支持写入,则返回True。

5.Length属性:返回流中的字节数。

6.Position属性:返回流在其字节中的当前位树。因为流支持查找,所以程序可以设置该值来移到特定位置。

7.ReadTimeout属性:确定读操作在超时前等待的毫秒数。

8.Writetimeout属性:确定写操作在超时前等待的毫秒数。

Stream类最有用的方法

1.BeginRead方法:开始异步读取。

2.Beginwrite方法:开始异步写入。

3.Close方法:关闭流,并释放流使用的任何资源(例如,文件句柄)。

4.EndRead方法:等待异步读取完成。

5.EndWrite方法:结束异步写入。

6.Flush方法:从流的缓冲区中将数据流入基础存储媒体(例如,设备、文件、内存等)。

7.Read方法:读取流中的字节,并将当前流的位置向前推进读取的字节数。

8.ReadByte方法:读取流中的1个字节,并将当前流的位置向前推进1个I字节。

9.Seek方法:如果流支持查找,则设置该流的位置。

10.SetLength方法:设置流的长度。如果流的当前长度超过新的长度,则删除超长部分。如果流的当前长度短于新的长度,则增加不足部分。流必须支持当前使用的方法的写入和查找功能。

11.Write方法:将字节写入流,并将当前位置向前推进写入的字节数。

12.WriteByte方法:将1个字节写入流.并将当前位置向前推进1个字节。

第2节 FileStream

FileStream类提供文件流表示。由于FileStream类的父类Stream类定义了很多属性和方法。有关这些属性和方法的描述,请参阅本文第1节的内容。

FileStream在Stream类的基础上添加了两个有用的新属性。第一个是IsAsync属性(如果己经异步打开FileStream,则该属性返回True)。第二个是Name属性(该属性返回传递给对象的构造函数的文件名)。

该类还添加了两个有用的新方法:Lock方法和Unlock方法。Lock方法锁定文件,以使其他程序能读取却不能修改该文件。Unlock方法则解锁锁定的文件。

使用FileStream的构造函数的多个重载版本能够指定文件名或句柄、文件模式(Append、Create、CreateNew、Open、OPenOrCreate或Truncate)、访问模式(Read、Write或ReadWrite)、文件共享(Inheritable,允许子进程继承文件句柄:None、Read、Write或Readwrute)、缓冲区大小和文件选项(Asynchronous、DeleteOnClose、Encrypted、None、RandomAccess、SequentialScane或WriteThrough)等参数。

下面的代码显示了一个使用FileStream的小示例。该示例创建一个文件,并使用通用转换格式(Universal

Transformation

Format,UTF)UTF8Encoding对像将字符串转换成一个字节数组。程序先将字节写入该文件,然后关闭FileStream。

完整的代码如下:

Imports System.IO

Imports System.Text

Public Class Form1

Private Sub

Button1_Click(ByVal sender

As System.Object, ByVal e As

System.EventArgs) Handles Button1.Click

Dim file_name As String =

Application.StartupPath &am

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值