Métodos mais úteis da classe Stream:
skip to main |
skip to sidebar
Exemplo de escrita em um arquivo texto: StreamWriter
Public Shared Sub Main() ' Cria uma instância de um StreamWriter para escrever para um arquivo Using sw As StreamWriter = New StreamWriter("Macoratti.txt") ' Inclui algum texto sw.Write("Este é um teste") sw.WriteLine("-------------------") ' Outros objetos podem ser escritos no arquivo sw.Write("Data : ") sw.WriteLine(DateTime.Now) sw.Close() End Using End Sub
A classe Stream é implementada pelas seguintes classes:
BufferedStream: Fornece uma camada no buffer noutro stream para aumentar o desempenho.
FileStream: Fornece uma forma de ler e escrever arquivos.
MemoryStream: Fornece um stream usando a memória como forma de armazenamento.
NetworkStream: Fornece uma forma de aceder a dados numa rede.
CryptoStream: Fornece uma forma de suprimir dados para uma operação de criptografia.
De forma geral operações com stream envolvem operações de leitura , escrita e procura. ( read, write , seek ).
terça-feira, 15 de fevereiro de 2011
A classe stream
É abstracta , e por isso não pode ser instanciada directamente. Ao implementar uma classe derivada de Stream deverá fornecer-se implementações para os métodos Read e Write.
Exemplo de escrita em um arquivo texto: StreamWriter
Public Shared Sub Main() ' Cria uma instância de um StreamWriter para escrever para um arquivo Using sw As StreamWriter = New StreamWriter("Macoratti.txt") ' Inclui algum texto sw.Write("Este é um teste") sw.WriteLine("-------------------") ' Outros objetos podem ser escritos no arquivo sw.Write("Data : ") sw.WriteLine(DateTime.Now) sw.Close() End Using End Sub
A classe Stream é implementada pelas seguintes classes:
BufferedStream: Fornece uma camada no buffer noutro stream para aumentar o desempenho.
FileStream: Fornece uma forma de ler e escrever arquivos.
MemoryStream: Fornece um stream usando a memória como forma de armazenamento.
NetworkStream: Fornece uma forma de aceder a dados numa rede.
CryptoStream: Fornece uma forma de suprimir dados para uma operação de criptografia.
De forma geral operações com stream envolvem operações de leitura , escrita e procura. ( read, write , seek ).
Usar Streams envolve as seguintes operações fundamentais
Ler a partir de streams. A leitura é a transferência de dados de um stream numa estrutura de dados como um array de bytes;
Escrever para streams. A escrita é a transferência de dados a partir de uma estrutura de dados para um stream;
Streams podem suportar a procura. A procura é a consulta e modificação de uma posição actual no interior do stream. A capacidade de busca depende do stream.
Exemplo de leitura de um arquivo texto : StreamReader
Public Shared Sub Main() Try ' Cria uma instância de um StreamReader para ler um arquivo Using sr As StreamReader = New StreamReader("Macoratti.txt") Dim line As String ' Lê e exibe as linhas do aruquivo até o fim Do line = sr.ReadLine() Console.WriteLine(line) Loop Until line Is Nothing sr.Close() End Using Catch E As Exception ' Exibe mensagem de erro Console.WriteLine("O arquivo não pode ser lido") Console.WriteLine(E.Message) End Try End Sub
CLASSESTREAM
Define propriedades e métodos que permitem realizar operações genéricas com fluxo de bytes (streams) : ler , escrever, etc.
Nota: Um stream pode ser considerado um fluxo sequêncial de bytes com um arquivo, um dispositivo de entrada/saida, um processo de comunicação entre dois pontos ou um socket TCP/IP. (Após esta explicação eu vou continuar a usar a palavra stream na sua forma original sem tradução.)
Streams
O conceito de stream permite-nos abstrair-nos dos detalhes da estrutura de dados subjacente e utilizar um conjunto de métodos comum a vários tipos de streams.
Uma stream encapsula uma sequência de dados, frequentemente bytes.
Uma stream possui uma fonte e um destino.
Se um trecho de código escreve numa stream, ele é a fonte deste.
Se um trecho de código lê de um stream, ele é o destino deste.
Definição
Uma stream pode ser considerado um fluxo sequêncial de bytes com um arquivo, um dispositivo de entrada/saida, um processo de comunicação entre dois pontos ou um socket TCP/IP.
Usar Streams envolve as seguintes operações fundamentais:
Ler a partir de streams. A leitura é a transferência de dados de uma stream numa estrutura de dados como um array de bytes;
Escrever para streams. A escrita é a transferência de dados a partir de uma estrutura de dados para uma stream;
As Streams podem suportar a busca.
A busca é a consulta e modificação de uma posição actual no interior da stream.
A capacidade de busca depende da stream.
O StreamReader e StreamReader são duas classes para de manipular ficheiros de texto.
Veremos de seguida um exemplo.
Imports System
Imports System.IO
Module module1
Public Sub Main()
Try
escrever()
' Criar uma intância de uma streamreader para ler dum ficheiro.
Dim sr As StreamReader = New StreamReader("testfile.txt")
Dim line As String
'ler e escrever as linhas do ficheiro até ao fim deste
Do
line = sr.ReadLine()
Console.WriteLine(line)
Loop Until line Is Nothing
sr.Close()
Catch E As Exception
' mostrar ao utilizador o que correu mal
Console.WriteLine("The file could not be read:")
Console.WriteLine(E.Message)
Console.ReadKey()
End Try
Console.ReadKey()
End Sub
Public Sub escrever()
' Cria uma instância de uma StreamWriter para escrever num ficheiro
Dim sw As StreamWriter = New StreamWriter("testfile.txt")
' Inclui algum texto
sw.Write("Este é um teste")
sw.WriteLine("-------------------")
' Outros objectos podem ser escritos no ficheiro
sw.Write("Data : ")
sw.WriteLine(DateTime.Now)
sw.Close()
End Sub
POO Avaçanda - Excepções !
No Visual Basic .NET nós podemos criar as nossas próprias excepções.
Para isso apenas temos de criar classes que derivem da classe Exception
' Definir a classe que vai tratar o erro específico
Public Class MyParameterOutOfRangeException
Inherits Exception
Public Sub New( )
MyBase.New(“O valor passado em MyParameter " _
& " está for a de limite. O valor deverá estar entre
& " 10 e 100.")
End Sub
End Class
' ...
________________________________________________________
' Definição do método que possa disparar a nossa excepção
Public Sub SomeMethod(ByVal MyParameter As Integer)
' Assegurar que o argumento é válido.
If (MyParameter < 10) Or (MyParameter > 100) Then
Throw New MyParameterOutOfRangeException( )
End If
' Corpo do método
' ...
End Sub
Public Sub SomeCaller( )
Try
SomeMethod(500)
Catch e As MyParameterOutOfRangeException
' ...
End Try
End Sub
POO Avaçanda - Excepções ...
Por vezes temos de garantir que certa parte do código é executado mesmo que tenha ocorrido uma excepção de forma a não comprometer a nossa aplicação.
Por exemplo se um ficheiro for aberto, este tem se ser fechado mesmo que ocorra uma excepção.
O bloco Try contém o bloco Finally para este propósito.
Este bloco de código é sempre executado haja ou não um excepção.
Dim s As System.IO.Stream =_
System.IO.File.Open("c:\test.txt", System.IO.FileMode.CreateNew)
Try
' Fazemos alguma coisa com o ficheiro.
' ...
Catch e As Exception
' Handle any exceptions.
' ...
Finally
‘A stream deverá ser fechada havendo ou não excepção
s.Close( )
End Try
O Visual Basic .NET pode intencionalmente tratar de excepções para indicar erros ou ocorrências invulgares.
Vejamos um exemplo em que existe um método que recebe valores nos argumentos, mas estes têm certos limites.
Este controlo é feito com a palavra throw.
Blogs restantes do Rafa
O que acha do Blog em si?
Postagens!!
-
▼
2011
(215)
-
▼
junho
(27)
- Apresentação :D
- SQL - Comandos que se podem atribuir em GRANT E RE...
- SQL - CREATE USER
- SQL - REVOKE
- SQL - GRANT
- SQL - Permissões
- SQL - Constraints (Restrições)
- SQL - UNIQUE
- SQL - CHECK
- SQL - NOT NULL
- SQL - NULL
- SQL - Tipos de dados na criação de tabelas
- SQL - DROP
- SQL - ALTER TABLE (Problemas)
- SQL - ALTER TABLE
- SQL - CREATE TABLE (Problemas)
- SQL - CREATE TABLE
- SQL - CREATE DATABASE
- SQL - CREATE DATABASE
- SQL - CREATE
- SQL - DCL
- SQL - DDL
- SQL - DML
- SQL - Delete
- SQL - Update
- SQL - Insert INTO
- Sumário: Módulo 15
-
▼
junho
(27)
Visitas!
Horas!
Calendário!
Estatisticas do Blog
Pesquisa aqui !
Tecnologia do Blogger.
