Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Constructor FileStream (String, FileMode)

 

Publicado: octubre de 2016

Inicializa una nueva instancia de la clase FileStream con el modo de creación y la ruta de acceso especificados.

Espacio de nombres:   System.IO
Ensamblado:  mscorlib (en mscorlib.dll)

public FileStream(
	string path,
	FileMode mode
)

Parámetros

path
Type: System.String

Ruta de acceso relativa o absoluta del archivo que va a encapsular el objeto FileStream actual.

mode
Type: System.IO.FileMode

Constante que determina cómo abrir o crear el archivo.

Exception Condition
ArgumentException

path es una cadena vacía (""), solo contiene espacios en blanco o contiene uno o más caracteres no válidos.

-o-

path hace referencia a un dispositivo que no es un archivo, como "con:", "com1:", "lpt1:", etc. en un entorno NTFS.

NotSupportedException

path hace referencia a un dispositivo que no es un archivo, como "con:", "com1:", "lpt1:", etc. en un entorno distinto de NTFS.

ArgumentNullException

El valor de path es null.

SecurityException

El llamador no dispone del permiso requerido.

FileNotFoundException

No se encuentra el archivo, como cuando mode es FileMode.Truncate o FileMode.Open, y el archivo especificado por path no existe. El archivo ya debe existir en estos modos.

IOException

Se ha producido un error de E/S, como cuando se especifica FileMode.CreateNew cuando el archivo especificado por path ya existe.

-o-

Se ha cerrado la secuencia.

DirectoryNotFoundException

La ruta de acceso especificada no es válida, por ejemplo, está en una unidad no asignada.

PathTooLongException

La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema. Por ejemplo, en plataformas basadas en Windows, las rutas de acceso deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres.

ArgumentOutOfRangeException

mode contiene un valor no válido.

.NET Framework no admite el acceso directo a discos físicos a través de rutas de acceso que sean nombres de dispositivo, como "\\.\PHYSICALDRIVE0".

El path parámetro puede ser un nombre de archivo, incluido un archivo en un recurso compartido de convención de nomenclatura Universal (UNC).

Se proporciona al constructor acceso de lectura y escritura al archivo y se abre compartiendo el acceso de lectura (es decir, las solicitudes para abrir el archivo para escritura de este u otro proceso producirá errores hasta que el FileStream se ha cerrado el objeto, pero los intentos de lectura tendrán éxito).

No puede utilizar este constructor para abrir archivos de solo lectura; en su lugar, debe utilizar un constructor que acepta un FileAccess parámetro con el valor establecido en FileAccess.Read.

El tamaño del búfer se establece en el tamaño predeterminado de 4096 bytes (4 KB).

System_CAPS_noteNota

path no es necesario que sea un archivo almacenado en disco; puede ser cualquier parte de un sistema que admita el acceso a través de secuencias. Por ejemplo, dependiendo del sistema, esta clase puede acceder a un dispositivo físico.

CanSeek es true para todos los FileStream objetos que encapsulan archivos. Si path indica un dispositivo que no admite la búsqueda, el CanSeek propiedad resultante FileStream es false. Para obtener información adicional, vea CanSeek.

FileShare.Read es el valor predeterminado para los FileStream constructores sin un FileShare parámetro.

Para los constructores sin un FileAccess parámetro, si la mode parámetro se establece en Append, Write es el acceso predeterminado. De lo contrario, el acceso se establece en ReadWrite.

System_CAPS_cautionPrecaución

Cuando se compile un juego de caracteres con una configuración cultural concreta y se recuperan los mismos caracteres con una configuración cultural diferente, los caracteres no pueden interpretarse y podrían provocar que se produzca una excepción.

Para obtener una lista de operaciones de directorio y de archivo común, consulte Tareas de E/S comunes.

En el ejemplo de código siguiente se muestra cómo escribir datos en un archivo, byte a byte y, a continuación, compruebe que los datos se han escrito correctamente.

using System;
using System.IO;

class FStream
{
    static void Main()
    {
        const string fileName = "Test#@@#.dat";

        // Create random data to write to the file.
        byte[] dataArray = new byte[100000];
        new Random().NextBytes(dataArray);

        using(FileStream  
            fileStream = new FileStream(fileName, FileMode.Create))
        {
            // Write the data to the file, byte by byte.
            for(int i = 0; i < dataArray.Length; i++)
            {
                fileStream.WriteByte(dataArray[i]);
            }

            // Set the stream position to the beginning of the file.
            fileStream.Seek(0, SeekOrigin.Begin);

            // Read and verify the data.
            for(int i = 0; i < fileStream.Length; i++)
            {
                if(dataArray[i] != fileStream.ReadByte())
                {
                    Console.WriteLine("Error writing data.");
                    return;
                }
            }
            Console.WriteLine("The data was written to {0} " +
                "and verified.", fileStream.Name);
        }
    }
}

FileIOPermission

for reading, writing, and appending to files. Associated enumerations: F:System.Security.Permissions.FileIOPermissionAccess.Read, F:System.Security.Permissions.FileIOPermissionAccess.Write, and F:System.Security.Permissions.FileIOPermissionAccess.Append.

Plataforma universal de Windows
Disponible desde 10
.NET Framework
Disponible desde 1.1
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Volver al principio
Mostrar: