Personas que lo han encontrado útil: 0 de 1 - Valorar este tema

FileInfo (Clase)

Proporciona métodos de instancia para crear, copiar, eliminar, mover y abrir archivos y contribuye a la creación de objetos FileStream. Esta clase no se puede heredar.

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

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public sealed class FileInfo : FileSystemInfo
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class FileInfo extends FileSystemInfo
SerializableAttribute 
ComVisibleAttribute(true) 
public final class FileInfo extends FileSystemInfo

Utilice la clase FileInfo para operaciones como copiar, mover, cambiar el nombre, crear, abrir, eliminar y anexar texto a archivos.

Muchos de los métodos de FileInfo devuelven otros tipos de E/S al crear o abrir archivos. Estos otros tipos se pueden utilizar para seguir manipulando un archivo. Para obtener más información, vea los miembros específicos de FileInfo como Open, OpenRead, OpenText, CreateText o Create.

Si va a utilizar un objeto varias veces, considere la posibilidad de usar el método de instancia de FileInfo en lugar de los correspondientes métodos estáticos de la clase File, ya que no siempre será necesario realizar una comprobación de seguridad.

De forma predeterminada, se otorga acceso completo de lectura y escritura a los nuevos archivos a todos los usuarios.

En la tabla siguiente se describen las enumeraciones que se utilizan para personalizar el comportamiento de varios métodos de FileInfo.

Enumeración

Descripción

FileAccess

Especifica el acceso de lectura y escritura al archivo.

FileShare

Especifica el nivel de acceso permitido para un archivo que está ya en uso.

FileMode

Especifica si el contenido de un archivo existente se conserva o se sobrescribe, y si las solicitudes para crear un archivo existente provocarán una excepción.

NotaNota

En los miembros que aceptan una ruta como cadena de entrada, la ruta debe ser correcta o, de lo contrario, se produce una excepción. Por ejemplo, si se trata de una ruta completa pero que empieza por un espacio, la ruta no se recorta en los métodos de la clase. En consecuencia, la ruta está mal construida y se produce una excepción. De forma similar, una combinación de rutas de acceso no puede completarse dos veces. Por ejemplo, "c:\temp c:\windows" produce también una excepción en la mayoría de los casos. Asegúrese de que las rutas de acceso estén bien construidas cuando utilice métodos que acepten una cadena de ruta de acceso.

En los miembros que aceptan una ruta de acceso, esta ruta puede hacer referencia a un archivo o sólo a un directorio. La ruta especificada puede hacer referencia también a una ruta relativa o a una ruta de convención de nomenclatura universal (Universal Naming Convention, UNC) de un servidor y un nombre de recurso compartido. Por ejemplo, las siguientes rutas de acceso son todas válidas:

  • "c:\\MiDir\\MiArchivo.txt" en C# o "c:\MiDir\MiArchivo.txt" en Visual Basic.

  • "c:\\MiDir" en C# o "c:\MiDir" en Visual Basic.

  • "MiDir\\MiSubdir" en C# o "MiDir\MiSubDir" en Visual Basic.

  • "\\\\MiServidor\\MiRecursoComp" en C# o "\\MiServidor\MiRecursoComp" en Visual Basic.

En la siguiente tabla se muestran ejemplos de otras tareas de E/S típicas o relacionadas.

Para realizar esta operación...

Vea el ejemplo de este tema...

Crear un archivo de texto

Cómo: Escribir texto en un archivo

Escribir en un archivo de texto.

Cómo: Escribir texto en un archivo

Leer de un archivo de texto.

Cómo: Leer texto de un archivo

Anexar texto a un archivo.

Cómo: Abrir y anexar a un archivo de registro

File.AppendText

FileInfo.AppendText

Cambiar de nombre o mover un archivo.

File.Move

FileInfo.MoveTo

Eliminar un archivo.

File.Delete

FileInfo.Delete

Copiar un archivo.

File.Copy

FileInfo.CopyTo

Obtener el tamaño de un archivo.

FileInfo.Length

Obtener los atributos de un archivo.

File.GetAttributes

Establecer los atributos de un archivo.

File.SetAttributes

Determinar si existe un archivo.

File.Exists

Leer de un archivo binario.

Cómo: Leer y escribir en un archivo de datos recién creado

Escribir en un archivo binario.

Cómo: Leer y escribir en un archivo de datos recién creado

Recuperar una extensión de archivo

Path.GetExtension

Recuperar la ruta de acceso completa de un archivo

Path.GetFullPath

Recuperar el nombre de archivo y la extensión de una ruta de acceso

Path.GetFileName

Cambiar la extensión de un archivo

Path.ChangeExtension

Nota de la plataforma Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows CE: Dado que los sistemas de archivos de los dispositivos funcionan de manera diferente, .NET Compact Framework no permite obtener o establecer atributos de archivo.

En el siguiente ejemplo se muestran algunos de los miembros principales de la clase FileInfo.

using System;
using System.IO;

class Test 
{
	
    public static void Main() 
    {
        string path = Path.GetTempFileName();
        FileInfo fi1 = new FileInfo(path);

        if (!fi1.Exists) 
        {
            //Create a file to write to.
            using (StreamWriter sw = fi1.CreateText()) 
            {
                sw.WriteLine("Hello");
                sw.WriteLine("And");
                sw.WriteLine("Welcome");
            }	
        }

        //Open the file to read from.
        using (StreamReader sr = fi1.OpenText()) 
        {
            string s = "";
            while ((s = sr.ReadLine()) != null) 
            {
                Console.WriteLine(s);
            }
        }

        try 
        {
            string path2 = Path.GetTempFileName();
            FileInfo fi2 = new FileInfo(path2);

            //Ensure that the target does not exist.
            fi2.Delete();

            //Copy the file.
            fi1.CopyTo(path2);
            Console.WriteLine("{0} was copied to {1}.", path, path2);

            //Delete the newly created file.
            fi2.Delete();
            Console.WriteLine("{0} was successfully deleted.", path2);

        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}

import System.*;
import System.IO.*;

class Test
{
    public static void main(String[] args)
    {
        String path = "c:\\temp\\MyTest.txt";
        FileInfo fi1 = new FileInfo(path);

        if (!(fi1.get_Exists())) {
            //Create a file to write to.
            StreamWriter sw = fi1.CreateText();
            try {
                sw.WriteLine("Hello");
                sw.WriteLine("And");
                sw.WriteLine("Welcome");
            }
            finally {
                sw.Dispose();
            }
        }

        //Open the file to read from.
        StreamReader sr = fi1.OpenText();
        try {
            String s = "";
            while ((s = sr.ReadLine())!= null) {
                Console.WriteLine(s);
            }
        }
        finally {
            sr.Dispose();
        }
        try {
            String path2 = path + "temp";
            FileInfo fi2 = new FileInfo(path2);

            //Ensure that the target does not exist.
            fi2.Delete();

            //Copy the file.
            fi1.CopyTo(path2);
            Console.WriteLine("{0} was copied to {1}.", path, path2);

            //Delete the newly created file.
            fi2.Delete();
            Console.WriteLine("{0} was successfully deleted.", path2);
        }
        catch (System.Exception e) {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    } //main
} //Test

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0
¿Le ha resultado útil?
(Caracteres restantes: 1500)
Contenido de la comunidad Agregar