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.
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.
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.