Vous êtes sur la page 1sur 12

Streams de datos y archivos

Introduccin

Streams Readers y Writers E/S bsica de archivos

Streams

Las clases Stream proporcionan un mecanismo para leer y escribir bytes desde y hacia un repositorio de seguridad

Las clases Stream heredan de System.IO.Stream Propiedades CanRead, CanWrite y CanSeek El mtodo Flush extrae y elimina buffers internos El mtodo Close realiza un Flush implcito para streams buffered NetworkStream, BufferedStream, MemoryStream, FileStream

Las principales operaciones de streams incluyen Leer, Escribir y Buscar

Algunos streams soportan buffering para mejorar el rendimiento

El mtodo Close libera recursos

Clases Stream proporcionadas por el .NET Framework

La instancia de Stream Null no tiene repositorio de seguridad

Readers y Writers

Las clases derivadas de System.IO.Stream utilizan entrada y salida de bytes Los readers y writers aceptan otros tipos de entradas y salidas, y los leen y escriben en streams o cadenas BinaryReader y BinaryWriter leen y escriben tipos primitivos a un stream TextReader y TextWriter son clases abstractas que implementan los mtodos de leer y escribir caracteres

Las clases derivadas StreamReader y StreamWriter leen y escriben a un stream Las clases derivadas StringReader y StringWriter leen a una cadena y escriben a una clase StringBuilder respectivamente

E/S bsica de archivos

Clase FileStream Clases File y FileInfo Ejemplo de lectura de texto Ejemplo de excritura de texto Clases Directory y DirectoryInfo

FileSystemWatcher
Almacenamiento aislado

La clase FileStream

La clase FileStream se utiliza para leer y escribir de/a archivos Clases de parmetros del constructor FileStream

Enumeracin FileMode, los valores incluyen Open, Append, Create


Enumeracin FileAccess, los valores incluyen Read, ReadWrite, Write Enumeracin FileShare, los valores incluyen None, Read, ReadWrite, Write

Dim f As New FileStream(name, FileMode.Open, _ FileAccess.Read, FileShare.Read)

Acceso aleatorio a archivos utilizando el mtodo Seek


Especificado por un offset de bytes


El offset es relativo al punto de referencia de bsqueda: Begin, Current, End

Las clases File y FileInfo

La clase File tiene mtodos compartidos para:

Crear, copiar, borrar, mover y abrir archivos

La clase FileInfo tiene mtodos de instancia para:


Crear, copiar, borrar, mover y abrir archivos


Utilizando un objeto FileInfo se pueden eliminar algunas comprobaciones de seguridad Asignar a aStream un archivo recin creado denominado MyFile.txt en el directorio actual

Ejemplo:

Dim aStream As FileStream _ = File.Create(MyFile.txt")

Ejemplo de lectura de texto

Lectura de texto de un archivo y escritura por consola

'... Dim sr As StreamReader = File.OpenText(FILE_NAME) Dim Line As String = sr.ReadLine() While Not(Line Is Nothing) Console.WriteLine(Line) Line = sr.ReadLine() End While Console.WriteLine ( _ "The end of the stream has been reached.") sr.Close() '...

Ejemplo de escritura de texto

Crear un archivo
Escribir una cadena, un entero y un nmero en coma flotante Cerrar el archivo

'... Dim sw As StreamWriter = _ File.CreateText("MyFile.txt") sw.WriteLine("This is my file") sw.WriteLine( _ "I can write ints {0} or floats {1}", 1, 4.2) sw.Close() '...

Las clases Directory y DirectoryInfo

Directory tiene mtodos compartidos para:

Crear, mover y enumerar a travs de directorios y subdirectorios

DirectoryInfo tiene mtodos de instancia para:

Crear, navegar y enumerar a travs de directorios y subdirectorios


Poder eliminar algunas comprobaciones de seguridad cuando se reutiliza un objeto Enumerar a travs del directorio actual

Ejemplo:

Dim dir As New DirectoryInfo(".") Dim f As FileInfo, name As String For Each f in dir.GetFiles("*.vb") name = f.FullName Next

Utilizar objetos de la clase Path para procesar cadenas de directorios

FileSystemWatcher

FileSystemWatcher se utiliza para monitorizar un sistema de archivos


Crear un objeto FileSystemWatcher Configurar para invocar un mtodo de rellamada al detectar cambios

Dim watcher As New FileSystemWatcher()

watcher.Path = args(0) watcher.Filter = "*.txt" watcher.NotifyFilter = NotifyFilters.FileName AddHandler watcher.Renamed, AddressOf OnRenamed

Empezar a monitorizar cambios en el sistema de archivos Capturar eventos en el mtodo de rellamada

watcher.EnableRaisingEvents = True

Shared Sub OnRenamed(ByVal s As object, ByVal e As RenamedEventArgs) Console.WriteLine("File: {0} renamed to {1}", _ e.OldFullPath, e.FullPath) End Sub

Almacenamiento aislado

El almacenamiento aislado ofrece formas estandarizadas de asociar aplicaciones a datos almacenados


Las aplicaciones Web con confianza parcial requieren:

Aislamiento de sus datos de los datos de otras aplicaciones Acceso seguro al sistema de archivos de un equipo

El espacio de nombres System.IO.IsolatedStorage contiene las siguientes clases:

NotInheritable Public Class IsolatedStorageFile Inherits IsolatedStorage Implements IDisposable


Public Class IsolatedStorageFileStream Inherits FileStream

Vous aimerez peut-être aussi