FileSystemInfo Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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, actuando como base para FileInfo objetos o DirectoryInfo . Use esta clase base al analizar una gran cantidad de 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 simplemente 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 rutas de acceso siguientes son 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 las tareas de E/S comunes, consulte Tareas de E/S comunes.
Constructores
FileSystemInfo() |
Inicializa una nueva instancia de la clase FileSystemInfo. |
FileSystemInfo(SerializationInfo, StreamingContext) |
Obsoletos.
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 |
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 |
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 |
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 |
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() |
Obsoletos.
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) |
Obsoletos.
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() |
Obsoletos.
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) |