⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 customstream.vb

📁 This is a book about vb.you could learn this from this book
💻 VB
字号:

Imports System
Imports System.IO

Namespace CustomStreams

	Public Class UpperCaseStream
			Inherits Stream
			
		Dim _stream As Stream

		Public Sub New (stream As Stream)
		
			_stream = stream
		
		End Sub
		

		Public Overrides ReadOnly Property CanRead As Boolean
			Get
				Return _stream.CanRead
			End get
		End Property

		Public Overrides ReadOnly Property CanSeek As Boolean
			Get
				Return _stream.CanSeek
			End Get
		End Property

		Public Overrides ReadOnly Property CanWrite As Boolean
			Get
				Return _stream.CanWrite
			End Get
		End Property
		
		Public Overrides ReadOnly Property Length() As Long
			Get
				Return _stream.Length
			End Get
		End Property

		Public Overrides Property Position As Long
			Get
				Return _stream.Position
			End Get
			Set
				_stream.Position = value
			End Set
		End Property

		Public Overrides Sub Close()
			_stream.Close()
		End Sub

		Public Overrides Sub Flush()
			_stream.Flush()
		End Sub

		Public Overrides Function Seek( offset As Long, origin As System.IO.SeekOrigin) As Long
			Return _stream.Seek( offset, origin )
		End Function

		Public Overrides Sub SetLength( length As Long)
			_stream.SetLength( length )
		End Sub

		Public Overrides Function Read( buffer As Byte(), offset As Integer, count As Integer) As Integer
		
			Dim bytesRead As Integer
			Dim index As Integer

			Console.WriteLine("Read called {0} {1}", offset, count )

			' let base class do the read
			bytesRead = _stream.Read( buffer, offset, count )

			' if something was read
			If bytesRead > 0 Then

				For index = offset To offset + bytesRead - 1
					If Char.IsLower(Convert.ToChar(buffer(index))) Then
						buffer(index) = Char.IsLower(Convert.ToChar(buffer(index)))
					End If
				Next
			End If

			Return bytesRead
		
		End Function
		

		Public Overrides Sub Write( buffer As Byte(), offset As Integer, count As Integer)

			Console.WriteLine("Write called {0} {1}", offset, count )

			_stream.Write( buffer, offset, count )

		End Sub

	End Class

End Namespace

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -