Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Un almacén de respaldo es un medio de almacenamiento, como un disco o la memoria. Cada almacén de respaldo distinto implementa su propia secuencia como una implementación de la clase Stream. Cada tipo de secuencia lee y escribe bytes en y desde su almacén de respaldo determinado. Las secuencias que se conectan a almacenes de respaldo se denominan secuencias base. Las secuencias base tienen constructores con los parámetros necesarios para conectar la secuencia al almacén de respaldo. Por ejemplo, FileStream tiene constructores que especifican un parámetro de ruta, que a su vez especifica cómo compartirán el archivo los procesos, etc.
El diseño de las clases System.IO simplifica la composición de secuencias. Las secuencias base se pueden asociar a una o varias secuencias de paso que proporcionan la funcionalidad deseada. Se puede asociar a un lector o a un sistema de escritura al final de la cadena, para que los tipos preferidos se puedan leer o escribir con facilidad.
En el siguiente ejemplo de código se crea FileStream en torno al archivo MyFile.txt existente con el fin de almacenarlo en el búfer. (Tenga en cuenta que FileStreams se almacenan en el búfer de forma predeterminada.) Después, se crea un StreamReader para leer los caracteres de la FileStream, que se pasa al StreamReader como argumento de su constructor. ReadLine lee hasta que Peek ya no encuentra más caracteres.
Option Explicit On
Option Strict On
Imports System
Imports System.IO
Public Class CompBuf
Private Const FILE_NAME As String = "MyFile.txt"
Public Shared Sub Main()
If Not File.Exists(FILE_NAME) Then
Console.WriteLine("{0} does not exist!", FILE_NAME)
Return
End If
Dim fsIn As New FileStream(FILE_NAME, FileMode.Open, FileAccess.Read, FileShare.Read)
' Create an instance of StreamReader that can read
' characters from the FileStream.
Dim sr As New StreamReader(fsIn)
' While not at the end of the file, read lines from the file.
While sr.Peek() > -1
Dim input As String = sr.ReadLine()
Console.WriteLine(input)
End While
sr.Close()
End Sub
End Class
[C#]
using System;
using System.IO;
public class CompBuf
{
private const string FILE_NAME = "MyFile.txt";
public static void Main(String[] args)
{
if (!File.Exists(FILE_NAME))
{
Console.WriteLine("{0} does not exist!", FILE_NAME);
return;
}
FileStream fsIn = new FileStream(FILE_NAME, FileMode.Open,
FileAccess.Read, FileShare.Read);
// Create an instance of StreamReader that can read
// characters from the FileStream.
StreamReader sr = new StreamReader(fsIn);
// While not at the end of the file, read lines from the file.
while (sr.Peek()>-1)
{
String input = sr.ReadLine();
Console.WriteLine (input);
}
sr.Close();
}
}
En el siguiente ejemplo de código se crea FileStream en torno al archivo MyFile.txt existente con el fin de almacenarlo en el búfer. (Tenga en cuenta que FileStreams se almacenan en el búfer de forma predeterminada.) Después, se crea un BinaryReader para leer los bytes de FileStream, que se pasa al BinaryReader como argumento de su constructor. ReadByte lee hasta que PeekChar ya no encuentra más bytes.
Option Explicit On
Option Strict On
Imports System
Imports System.IO
Public Class ReadBuf
Private Const FILE_NAME As String = "MyFile.txt"
Public Shared Sub Main()
If Not File.Exists(FILE_NAME) Then
Console.WriteLine("{0} does not exist.", FILE_NAME)
Return
End If
Dim f As New FileStream(FILE_NAME, FileMode.Open, FileAccess.Read,
FileShare.Read)
' Create an instance of BinaryReader that can
' read bytes from the FileStream.
Dim sr As New BinaryReader(f)
' While not at the end of the file, read lines from the file.
While sr.PeekChar() > -1
Dim input As Byte = sr.ReadByte()
Console.WriteLine(input)
End While
sr.Close()
End Sub
End Class
[C#]
using System;
using System.IO;
public class ReadBuf
{
private const string FILE_NAME = "MyFile.txt";
public static void Main(String[] args)
{
if (!File.Exists(FILE_NAME))
{
Console.WriteLine("{0} does not exist.", FILE_NAME);
return;
}
FileStream f = new FileStream(FILE_NAME, FileMode.Open,
FileAccess.Read, FileShare.Read);
// Create an instance of BinaryReader that can
// read bytes from the FileStream.
BinaryReader sr = new BinaryReader(f);
// While not at the end of the file, read lines from the file.
while (sr.PeekChar()>-1)
{
byte input = sr.ReadByte();
Console.WriteLine (input);
}
sr.Close();
}
}
Vea también
E/S de archivos básica | Crear un sistema de escritura | StreamReader | StreamReader.ReadLine | StreamReader.Peek | FileStream | BinaryReader | BinaryReader.ReadByte | BinaryReader.PeekChar