FileSystemInfo Clase

Definición

Proporciona la clase base para los objetos FileInfo y DirectoryInfo.

public ref class FileSystemInfo abstract
public ref class FileSystemInfo abstract : MarshalByRefObject, System::Runtime::Serialization::ISerializable
public abstract class FileSystemInfo
public abstract class FileSystemInfo : MarshalByRefObject, System.Runtime.Serialization.ISerializable
[System.Serializable]
public abstract class FileSystemInfo : MarshalByRefObject, System.Runtime.Serialization.ISerializable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class FileSystemInfo : MarshalByRefObject, System.Runtime.Serialization.ISerializable
type FileSystemInfo = class
type FileSystemInfo = class
    inherit MarshalByRefObject
    interface ISerializable
[<System.Serializable>]
type FileSystemInfo = class
    inherit MarshalByRefObject
    interface ISerializable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileSystemInfo = class
    inherit MarshalByRefObject
    interface ISerializable
Public MustInherit Class FileSystemInfo
Public MustInherit Class FileSystemInfo
Inherits MarshalByRefObject
Implements ISerializable
Herencia
FileSystemInfo
Herencia
FileSystemInfo
Derivado
Atributos
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra cómo recorrer en bucle todos los archivos y directorios, consultando información sobre cada entrada.

using namespace System;
using namespace System::IO;


namespace ConsoleApplication2
{
    public ref class Program
    {
    public:
        static void Main()
        {
            //  Loop through all the immediate subdirectories of C.
            for each (String^ entry in Directory::GetDirectories("C:\\"))
            {
                DisplayFileSystemInfoAttributes(gcnew DirectoryInfo(entry));
            }
            //  Loop through all the files in C.
            for each (String^ entry in Directory::GetFiles("C:\\"))
            {
                DisplayFileSystemInfoAttributes(gcnew FileInfo(entry));
            }
        }
        static void DisplayFileSystemInfoAttributes(FileSystemInfo^ fsi)
        {
            //  Assume that this entry is a file.
            String^ entryType = "File";

            // Determine if entry is really a directory
            if ((fsi->Attributes & FileAttributes::Directory) == FileAttributes::Directory)
            {
                entryType = "Directory";
            }
            //  Show this entry's type, name, and creation date.
            Console::WriteLine("{0} entry {1} was created on {2:D}", entryType, fsi->FullName, fsi->CreationTime);
        }
    };
};

int main()
{
    ConsoleApplication2::Program::Main();
}

 // Output will vary based on contents of drive C.

 // Directory entry C:\Documents and Settings was created on Tuesday, November 25, 2003
 // Directory entry C:\Inetpub was created on Monday, January 12, 2004
 // Directory entry C:\Program Files was created on Tuesday, November 25, 2003
 // Directory entry C:\RECYCLER was created on Tuesday, November 25, 2003
 // Directory entry C:\System Volume Information was created on Tuesday, November 2, 2003
 // Directory entry C:\WINDOWS was created on Tuesday, November 25, 2003
 // File entry C:\IO.SYS was created on Tuesday, November 25, 2003
 // File entry C:\MSDOS.SYS was created on Tuesday, November 25, 2003
 // File entry C:\pagefile.sys was created on Saturday, December 27, 2003
using System;
using System.IO;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            //  Loop through all the immediate subdirectories of C.
            foreach (string entry in Directory.GetDirectories(@"C:\"))
            {
                DisplayFileSystemInfoAttributes(new DirectoryInfo(entry));
            }
            //  Loop through all the files in C.
            foreach (string entry in Directory.GetFiles(@"C:\"))
            {
                DisplayFileSystemInfoAttributes(new FileInfo(entry));
            }
        }
        static void DisplayFileSystemInfoAttributes(FileSystemInfo fsi)
        {
            //  Assume that this entry is a file.
            string entryType = "File";

            // Determine if entry is really a directory
            if ((fsi.Attributes & FileAttributes.Directory) == FileAttributes.Directory )
            {
                entryType = "Directory";
            }
            //  Show this entry's type, name, and creation date.
            Console.WriteLine("{0} entry {1} was created on {2:D}", entryType, fsi.FullName, fsi.CreationTime);
        }
    }
}

 // Output will vary based on contents of drive C.

 // Directory entry C:\Documents and Settings was created on Tuesday, November 25, 2003
 // Directory entry C:\Inetpub was created on Monday, January 12, 2004
 // Directory entry C:\Program Files was created on Tuesday, November 25, 2003
 // Directory entry C:\RECYCLER was created on Tuesday, November 25, 2003
 // Directory entry C:\System Volume Information was created on Tuesday, November 2, 2003
 // Directory entry C:\WINDOWS was created on Tuesday, November 25, 2003
 // File entry C:\IO.SYS was created on Tuesday, November 25, 2003
 // File entry C:\MSDOS.SYS was created on Tuesday, November 25, 2003
 // File entry C:\pagefile.sys was created on Saturday, December 27, 2003
Imports System.IO
Module Module1

    Sub Main()
        ' Loop through all the immediate subdirectories of C.
        For Each entry As String In Directory.GetDirectories("C:\")
            DisplayFileSystemInfoAttributes(New DirectoryInfo(entry))
        Next

        ' Loop through all the files in C.
        For Each entry As String In Directory.GetFiles("C:\")
            DisplayFileSystemInfoAttributes(New FileInfo(entry))
        Next
    End Sub

    Sub DisplayFileSystemInfoAttributes(ByVal fsi As IO.FileSystemInfo)
        ' Assume that this entry is a file.
        Dim entryType As String = "File"

        ' Determine if this entry is really a directory.
        If (fsi.Attributes And FileAttributes.Directory) = FileAttributes.Directory Then
            entryType = "Directory"
        End If

        ' Show this entry's type, name, and creation date.
        Console.WriteLine("{0} entry {1} was created on {2:D}", _
            entryType, fsi.FullName, fsi.CreationTime)
    End Sub
End Module

' Output will vary based on contents of drive C.
' 
' Directory entry C:\Documents and Settings was created on Tuesday, November 25, 2003
' Directory entry C:\Inetpub was created on Monday, January 12, 2004
' Directory entry C:\Program Files was created on Tuesday, November 25, 2003
' Directory entry C:\RECYCLER was created on Tuesday, November 25, 2003
' Directory entry C:\System Volume Information was created on Tuesday, November 2, 2003
' Directory entry C:\WINDOWS was created on Tuesday, November 25, 2003
' File entry C:\IO.SYS was created on Tuesday, November 25, 2003
' File entry C:\MSDOS.SYS was created on Tuesday, November 25, 2003
' File entry C:\pagefile.sys was created on Saturday, December 27, 2003

Comentarios

La FileSystemInfo clase contiene métodos que son comunes a la manipulación de archivos y directorios. Un FileSystemInfo objeto puede representar un archivo o un directorio, por lo que sirve como base para FileInfo objetos o DirectoryInfo . Use esta clase base al analizar muchos archivos y directorios.

Una clase derivada solo puede heredar de FileSystemInfo si la clase derivada tiene el permiso AllAccess de la FileIOPermissionAccess enumeración.

En los miembros que aceptan una ruta de acceso, la ruta de acceso puede hacer referencia a un archivo o solo a un directorio. La ruta de acceso especificada también puede hacer referencia a una ruta de acceso relativa o a una ruta de acceso de convención de nomenclatura universal (UNC) para un servidor y un nombre de recurso compartido. Por ejemplo, todas las siguientes son rutas de acceso aceptables:

  • "c:\\MyDir\\MyFile.txt" en C#, o "c:\MyDir\MyFile.txt" en Visual Basic.

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

  • "MyDir\\MySubdir" en C#, o "MyDir\MySubDir" en Visual Basic.

  • "\\\\MyServer\\MyShare" en C#, o "\\MyServer\MyShare" en Visual Basic.

Para obtener una lista de tareas de E/S comunes, consulte Tareas de E/S comunes.

Constructores

FileSystemInfo()

Inicializa una nueva instancia de la clase FileSystemInfo.

FileSystemInfo(SerializationInfo, StreamingContext)

Inicializa una nueva instancia de la clase FileSystemInfo con datos serializados.

Campos

FullPath

Representa la ruta de acceso completa del directorio o el archivo.

OriginalPath

La ruta de acceso especificada originalmente por el usuario, ya sea relativa o absoluta.

Propiedades

Attributes

Obtiene o establece los atributos del archivo o directorio actual.

CreationTime

Obtiene o establece la hora de creación del archivo o directorio actual.

CreationTimeUtc

Obtiene o establece la hora de creación, en formato de hora universal coordinada (UTC), del archivo o directorio actual.

Exists

Obtiene un valor que indica si existe el archivo o directorio.

Extension

Obtiene la parte de extensión del nombre de archivo, incluido el punto inicial . incluso si es el nombre de archivo completo o una cadena vacía si no hay ninguna extensión presente.

FullName

Obtiene la ruta de acceso completa del directorio o el archivo.

LastAccessTime

Obtiene o establece la hora en la que se utilizó por última vez el archivo o directorio actual.

LastAccessTimeUtc

Obtiene o establece la hora, en formato de hora universal coordinada (UTC), a la que se produjo el último acceso al archivo o directorio actual.

LastWriteTime

Obtiene o establece la hora en la que se escribió por última vez en el archivo o directorio actual.

LastWriteTimeUtc

Obtiene o establece la hora, en formato de hora universal coordinada (UTC), a la que se escribió por última vez en el archivo o directorio actual.

LinkTarget

Obtiene la ruta de acceso de destino del vínculo ubicado en FullNameo null si esta FileSystemInfo instancia no representa un vínculo.

Name

Para archivos, obtiene el nombre del archivo. Para directorios, obtiene el nombre del último directorio de la jerarquía, si existe tal jerarquía. De lo contrario, la propiedad Name obtiene el nombre del directorio.

UnixFileMode

Obtiene o establece el modo de archivo unix para el archivo o directorio actual.

Métodos

CreateAsSymbolicLink(String)

Crea un vínculo simbólico ubicado en FullName que apunta al especificado pathToTarget.

CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
Delete()

Elimina un archivo o directorio.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetLifetimeService()
Obsoleto.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

Establece el objeto SerializationInfo con el nombre de archivo y la información adicional de la excepción.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InitializeLifetimeService()
Obsoleto.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
Refresh()

Actualiza el estado del objeto.

ResolveLinkTarget(Boolean)

Obtiene el destino del vínculo especificado.

ToString()

Devuelve la ruta de acceso original. Use las propiedades FullName o Name para la ruta de acceso completa o el nombre de archivo o directorio.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también