Compartir a través de


Conceptos básicos de E/S de archivos de .NET Framework y del sistema de archivos (Visual Basic)

Las clases del System.IO espacio de nombres se usan para trabajar con unidades, archivos y directorios.

El System.IO espacio de nombres contiene las File clases y Directory , que proporcionan la funcionalidad de .NET Framework que manipula archivos y directorios. Dado que los métodos de estos objetos son miembros estáticos o compartidos, puede usarlos directamente sin crear una instancia de la clase en primer lugar. Asociadas a estas clases están las clases FileInfo y DirectoryInfo, que serán familiares para los usuarios de la función My. Para usar estas clases, debe usar los nombres completos o importar los espacios de nombres adecuados, incluidas las instrucciones Imports , al principio del código afectado. Para obtener más información, consulte Instrucción Imports (Tipo y espacio de nombres de .NET).

Nota:

Otros temas de esta sección usan el objeto My.Computer.FileSystem en lugar de las clases System.IO para trabajar con unidades, archivos y directorios. El My.Computer.FileSystem objeto está pensado principalmente para su uso en programas de Visual Basic. System.IO Las clases están diseñadas para su uso por cualquier lenguaje que admita .NET Framework, incluido Visual Basic.

Definición de un flujo

.NET Framework usa secuencias para admitir la lectura y escritura en archivos. Puede considerar una secuencia como un conjunto unidimensional de datos contiguos, que tiene un principio y un final, y donde el cursor indica la posición actual en la secuencia.

El cursor muestra la posición actual en la secuencia de archivos.

Operaciones de transmisión

Los datos contenidos en la secuencia pueden provenir de la memoria, un archivo o un socket TCP/IP. Los flujos tienen operaciones fundamentales que se pueden aplicar a ellas:

  • Lectura. Puede leer desde una secuencia y transferir datos de la secuencia a una estructura de datos, como una cadena o una matriz de bytes.

  • Escritura. Puede escribir en una secuencia transfiriendo datos desde un origen de datos a la secuencia.

  • Búsqueda. Puede consultar y modificar su posición en la secuencia.

Para obtener más información, consulte Composición de flujos.

Tipos de flujos

En .NET Framework, una secuencia se representa mediante la Stream clase , que forma la clase abstracta para todos los demás flujos. No se puede crear directamente una instancia de la Stream clase , pero debe usar una de las clases que implementa.

Hay muchos tipos de secuencias, pero para trabajar con la entrada y salida de archivos (E/S), los tipos más importantes son la FileStream clase , que proporciona una manera de leer y escribir en archivos, y la IsolatedStorageFileStream clase , que proporciona una manera de crear archivos y directorios en almacenamiento aislado. Otras secuencias que se pueden usar al trabajar con E/S de archivo incluyen:

En la tabla siguiente se enumeran las tareas que se realizan normalmente con una secuencia:

En Vea
Lectura y escritura en un archivo de datos Cómo: Leer y escribir en un archivo de datos recién creado
Leer texto de un archivo Cómo: Leer texto de un archivo
Escribir texto en un archivo Cómo: Escribir texto en un archivo
Leer caracteres de una cadena Cómo: Leer caracteres de una cadena
Escribir caracteres en una cadena Cómo: Escribir caracteres en una cadena
Cifrado de datos Cifrado de datos
Descifrar datos Descifrado de datos

Acceso a archivos y atributos

Puede controlar cómo se crean, abren y comparten los archivos utilizando las enumeraciones FileAccess, FileMode y FileShare, que contienen las marcas empleadas por los constructores de la clase FileStream. Por ejemplo, al abrir o crear un nuevo FileStream, la FileMode enumeración le permite especificar si el archivo se abre para anexar, si se crea un nuevo archivo si el archivo especificado no existe, si el archivo se sobrescribe, etc.

La FileAttributes enumeración permite recopilar información específica del archivo. La FileAttributes enumeración devuelve los atributos almacenados del archivo, como si está comprimido, cifrado, oculto, de solo lectura, de archivo, de un directorio, de un archivo del sistema o de un archivo temporal.

En la tabla siguiente se enumeran las tareas relacionadas con el acceso a archivos y los atributos de archivo:

En Vea
Abrir y anexar texto a un archivo de registro Cómo: Abrir y anexar a un archivo de registro
Determinar los atributos de un archivo FileAttributes

Permisos de archivo

El control del acceso a archivos y directorios se puede realizar con la FileIOPermission clase . Esto puede ser especialmente importante para los desarrolladores que trabajan con Web Forms, que se ejecutan de forma predeterminada en el contexto de una cuenta de usuario local especial denominada ASPNET, que se crea como parte de las instalaciones de ASP.NET y .NET Framework. Cuando una aplicación de este tipo solicita acceso a un recurso, la cuenta de usuario de ASPNET tiene permisos limitados, lo que puede impedir que el usuario realice acciones como escribir en un archivo desde una aplicación web. Para obtener más información, consulte FileIOPermission.

Almacenamiento de archivos aislados

El almacenamiento aislado es un intento de resolver problemas creados al trabajar con archivos en los que el usuario o el código pueden carecer de permisos necesarios. El almacenamiento aislado asigna a cada usuario un compartimiento de datos, que puede contener uno o varios almacenes. Los almacenes se pueden aislar entre sí por usuario y por ensamblado. Solo el usuario y el ensamblado que creó un almacén tienen acceso a él. Un almacén actúa como un sistema de archivos virtual completo, dentro de un almacén que puede crear y manipular directorios y archivos.

En la tabla siguiente se enumeran las tareas asociadas normalmente con el almacenamiento de archivos aislado.

En Vea
Creación de un almacén aislado Cómo: Obtener almacenes para el almacenamiento aislado
Enumerar almacenes aislados Procedimiento para enumerar almacenes para el almacenamiento aislado
Eliminación de un almacén aislado Procedimiento: Eliminar almacenes de almacenamiento aislado
Creación de un archivo o directorio en almacenamiento aislado Cómo: Crear archivos y directorios en almacenamiento aislado
Búsqueda de un archivo en almacenamiento aislado Cómo: Buscar archivos y directorios existentes en el almacenamiento aislado
Lectura o escritura en un archivo en almacenamiento aislado Cómo: Leer y escribir en archivos en almacenamiento aislado
Eliminación de un archivo o directorio en el almacenamiento aislado Cómo: Eliminar archivos y directorios en almacenamiento aislado

Eventos de archivo

El FileSystemWatcher componente le permite observar los cambios en los archivos y directorios del sistema o en cualquier equipo al que tenga acceso de red. Por ejemplo, si se modifica un archivo, es posible que desee enviar a un usuario una alerta de que se ha realizado el cambio. Cuando se producen cambios, se generan uno o varios eventos, se almacenan en un búfer y se entregan al FileSystemWatcher componente para su procesamiento.

Consulte también