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.
Actualización: noviembre 2007
El espacio de nombres System.IO contiene las clases File y Directory, que proporcionan la funcionalidad de .NET Framework para manipular archivos y directorios. Dado que los métodos de estos objetos son miembros estáticos o compartidos, podrá utilizarlos directamente sin crear primero una instancia de la clase. Asociadas a estas clases están las clases FileInfo y DirectoryInfo, que les resultarán familiares a los usuarios de la característica My. Para utilizar estas clases, debe utilizar sus nombres completos o importar los espacios de nombres adecuados incluyendo las instrucciones Imports al principio del código fuente afectado. Para obtener más información, vea Instrucción Imports (Tipo y espacio de nombres de .NET).
Definición de una secuencia
.NET Framework utiliza secuencias para admitir la lectura de archivos y la escritura en ellos. Puede considerar una secuencia como un conjunto unidimensional de datos contiguos, que tiene un principio y un final, y en el que el cursor indica la posición actual dentro de la secuencia.
.gif)
Operaciones con secuencias
Los datos contenidos en la secuencia pueden proceder de la memoria, de un archivo o de un socket de TCP/IP. A las secuencias se les pueden aplicar operaciones fundamentales:
Lectura. Puede leer de una secuencia, transfiriendo datos desde la secuencia hasta 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 hasta la secuencia.
Búsqueda. Puede consultar y modificar su posición en la secuencia.
Para obtener más información, vea Crear secuencias.
Tipos de secuencias
En .NET Framework, una secuencia se representa mediante la clase Stream, que constituye la clase abstracta para todas las demás secuencias. No se puede crear directamente una instancia de la clase Stream, pero debe utilizar una de las clases que implementa.
Hay muchos tipos de secuencias, pero a efectos de trabajo con la entrada-salida (E/S) de archivos, los tipos más importantes son la clase FileStream, que proporciona una manera de leer archivos y escribir en ellos, y la clase IsolatedStorageFileStream, que ofrece una forma de crear archivos y directorios en almacenamiento aislado. Otras secuencias que se pueden utilizar al trabajar con la E/S de archivos son:
La tabla siguiente muestra tareas realizadas normalmente con las secuencias:
Para |
Vea |
|---|---|
Leer y escribir en un archivo de datos |
|
Leer de un archivo XML |
|
Crear un escritor de secuencias para escribir texto en un archivo |
|
Leer de un archivo de texto |
|
Escribir texto en un archivo |
|
Leer caracteres de una cadena |
|
Escribir caracteres en una cadena |
|
Cifrar los datos |
|
Descifrar los datos |
Almacenar accesos y atributos
Puede controlar cómo se crean, abren y comparten los archivos con las enumeracionesFileAccess, FileMode y FileShare, que contienen los identificadores usados por los constructores de la clase FileStream. Por ejemplo, al abrir o crear una nueva secuencia FileStream, la enumeración FileMode permite especificar si el archivo está abierto para anexarle datos, si se debe crear un nuevo archivo cuando no existe el archivo especificado, si se debe sobrescribir el archivo, etc.
La enumeración FileAttributes habilita la recopilación de información específica de los archivos. La enumeración FileAttributes devuelve los atributos almacenados del archivo, como por ejemplo si se trata de un archivo de almacenamiento, comprimido, cifrado, oculto, de sólo lectura, de un directorio, de sistema o de un archivo temporal.
La tabla siguiente muestra tareas que implican acceso a archivos y atributos de archivo:
Para |
Vea |
|---|---|
Abrir un archivo de registro y anexarle texto |
|
Determinar los atributos de un archivo |
Permisos sobre archivos
El control del acceso a los archivos y directorios se puede llevar a cabo con la clase FileIOPermission. Esto puede ser especialmente importante para los desarrolladores que trabajen con formularios Web Forms, que se ejecutan de forma predeterminada dentro del contexto de un usuario local especial denominado 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 ASPNET dispone de permisos limitados, que pueden impedir que el usuario realice acciones como escribir en un archivo desde una aplicación Web. Para obtener más información, vea Permisos de seguridad, Solicitar permisos y la clase FileIOPermission.
La tabla siguiente muestra tareas en las que toman parte los permisos de archivo.
Para |
Vea |
|---|---|
Solicitar los permisos mínimos |
Cómo: Solicitar permiso para obtener acceso a código no administrado |
Solicitar los permisos opcionales |
Cómo: Solicitar permisos opcionales mediante el marcador RequestOptional |
Rechazar permisos |
|
Solicitar los permisos integrados |
Cómo: Solicitar permiso para un conjunto de permisos con nombre |
Solicitar permisos codificados en XML |
Almacenamiento aislado de archivos
El almacenamiento aislado es un intento de resolver los problemas creados al trabajar con archivos en los que el usuario o el código pueden no tener los permisos necesarios. El almacenamiento aislado asigna a cada usuario un compartimiento de datos, que puede contener uno o más almacenes. Los almacenes se pueden aislar entre sí clasificándolos por usuario y por ensamblado. Sólo el usuario y ensamblado que crearon un almacén tienen el acceso a él. Un almacén actúa como un sistema de archivos virtual completo: dentro de un almacén se pueden crear y manipular directorios y archivos.
La tabla siguiente muestra tareas normalmente asociadas al almacenamiento aislado de archivos.
Para |
Vea |
|---|---|
Crear un almacén aislado |
|
Enumerar los almacenes aislados |
|
Eliminar un almacén aislado |
|
Crear un archivo o directorio en almacenamiento aislado |
Cómo: Crear archivos y directorios en almacenamiento aislado |
Buscar un archivo en un almacenamiento aislado |
Cómo: Buscar archivos y directorios existentes en almacenamiento aislado |
Leer o escribir en un archivo de un almacenamiento aislado |
Cómo: Leer y escribir en archivos del almacenamiento aislado |
Eliminar un archivo o directorio de un almacenamiento aislado |
Cómo: Eliminar archivos y directorios en almacenamiento aislado |
Eventos de archivos
El componente FileSystemWatcher permite inspeccionar los cambios realizados en los archivos y directorios de su sistema o en cualquier equipo al que tenga acceso a través de la red. Por ejemplo, si se modifica un archivo, puede que desee enviarle una advertencia a un usuario indicándole que se han producido cambios. Cuando se producen cambios, se provocan uno o más eventos, se almacenan en un búfer y se entregan al componente FileSystemWatcher para que los procese. Para obtener más información, vea Reaccionar a eventos del sistema de archivos.
Para |
Vea |
|---|---|
Crear un controlador para los eventos del sistema de archivos |
Cómo: Crear controladores para los eventos del sistema de archivos |
Configurar una instancia de componente FileSystemWatcher |
Cómo: Configurar instancias de componentes FileSystemWatcher |
Vea también
Conceptos
Clases utilizadas en el sistema de archivos y la E/S de archivos en .NET Framework