笔记3:FileWebRequest 与 FileWebResponse

前端之家收集整理的这篇文章主要介绍了笔记3:FileWebRequest 与 FileWebResponse前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


FileWebRequest 及 FileWebResponse这两个类衍生自 WebRequest 及 WebResponse,用以存取本机文件数据。

把本机路径“看作”URL,来初始化建立对象。

一、建立类实体

同样没有构造函数,必须引用类WebRequest的方法成员Create(),建立所需的FileWebRequest类实体,WebRequest根据传入的URI字符串,返回一个FileWebRequest对象。下面strAddress为本机所要存取的某个文件完整路径名称

      Dim myFileWebRequestAs FileWebRequest = CType(WebRequest.Create(strAddress),FileWebRequest)

FileWebRequest继承WebRequest类的方法成员,还有自身方法成员。

FileWebResponse 对象,同样必须由 FileWebRequest 的 GetResponse()方法,返回所取得的类对象。

二、文件存取

用特定文件URI初始化的HleWebRequest实体,取得返回的FileWebResponse对象,就可以进行文件存取操作。

读取文件

与下载网页的过程非常类似,把本机上的文件当作“服务器”。

写入文件

利用FileWebRequest对象发出请求,由其传回连接目标文件所需的数据流;通过这个数据流,将数据被写入新建立的数据流,最后保存到指定的目标文件。返回数据流的方法则是通过引用GetRequestStream()方法来完成:

           Public FunctionGetRequestStream() As Stream

结果返回文件数据流对象,它可直接通过文件I/O的模式,引用Write()方法,将字节数据写入目标文件

三、读写文件举例

FileWebRequest 及 FileWebResponse 类的使用,与WebRequest 与 WebResponse 相似。

下面对本机D盘文件进行读取与写入操作。


@H_301_144@Imports System.Net Imports System.IO Imports System.Text Public Class Form1 Private Sub btnRead_Click(sender As Object,e As EventArgs) Handles btnRead.Click Dim fq As FileWebRequest Dim fp As FileWebResponse Dim st As Stream Dim sr As StreamReader Try fq = CType(WebRequest.Create(txtAddress.Text),FileWebRequest) '创建filewebrequest fp = fq.GetResponse st = fp.GetResponseStream '响应流,即读取流 sr = New StreamReader(st,Encoding.Default) txtContent.Text = sr.ReadToEnd st.Close() sr.Close() Catch ex As Exception txtContent.Text = ex.Message End Try End Sub Private Sub btnWrite_Click(sender As Object,e As EventArgs) Handles btnWrite.Click Dim fq As FileWebRequest Dim st As Stream Dim a() As Byte Dim lngCount As Int64 lngCount = Encoding.Default.GetBytes(txtContent.Text).Count ReDim a(lngCount) a = Encoding.Default.GetBytes(txtContent.Text) Try fq = CType(WebRequest.Create(txtAddress.Text),FileWebRequest) fq.Method = "PUT" '设置写入方式,默认(不设置)时是Get即读取 st = fq.GetRequestStream '请求流(非响应流),故方向是向文件写入 st.Write(a,a.Length) st.Close() MsgBox("完成!") Catch ex As Exception MsgBox(ex.Message) End Try End Sub End Class






总结:1、filewebrequest对本机文件的存取,感觉用处不大,何必绕个圈子做这事呢?

2、流的方向,请求流与响应流

猜你在找的VB相关文章