FileSystemInfo Classe

Definição

Fornece a classe base para ambos FileInfo e DirectoryInfo objetos.

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
Herança
FileSystemInfo
Herança
FileSystemInfo
Derivado
Atributos
Implementações

Exemplos

O exemplo a seguir mostra como fazer loop em todos os arquivos e diretórios, consultando algumas informações sobre cada entrada.

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

Comentários

A FileSystemInfo classe contém métodos comuns à manipulação de arquivo e diretório. Um FileSystemInfo objeto pode representar um arquivo ou um diretório, servindo assim como base para FileInfo ou DirectoryInfo objetos. Use essa classe base ao analisar muitos arquivos e diretórios.

Uma classe derivada só poderá herdar FileSystemInfo se a classe derivada tiver a permissão AllAccess da FileIOPermissionAccess enumeração.

Em membros que aceitam um caminho, o caminho pode se referir a um arquivo ou apenas a um diretório. O caminho especificado também pode se referir a um caminho relativo ou a um caminho UNC (Convenção Universal de Nomenclatura) para um servidor e um nome de compartilhamento. Por exemplo, todos os seguintes são caminhos aceitáveis:

  • "c:\\MyDir\\MyFile.txt" em C#ou "c:\MyDir\MyFile.txt" no Visual Basic.

  • "c:\\MyDir" em C#ou "c:\MyDir" no Visual Basic.

  • "MyDir\\MySubdir" em C#ou "MyDir\MySubDir" no Visual Basic.

  • "\\\\MyServer\\MyShare" em C#ou "\\MyServer\MyShare" no Visual Basic.

Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.

Construtores

Nome Description
FileSystemInfo()

Inicializa uma nova instância da classe FileSystemInfo.

FileSystemInfo(SerializationInfo, StreamingContext)
Obsoleto.

Inicializa uma nova instância da FileSystemInfo classe com dados serializados.

Campos

Nome Description
FullPath

Representa o caminho totalmente qualificado do diretório ou arquivo.

OriginalPath

O caminho originalmente especificado pelo usuário, seja relativo ou absoluto.

Propriedades

Nome Description
Attributes

Obtém ou define os atributos para o arquivo ou diretório atual.

CreationTime

Obtém ou define a hora de criação do arquivo ou diretório atual.

CreationTimeUtc

Obtém ou define o tempo de criação, em UTC (tempo universal coordenado), do arquivo ou diretório atual.

Exists

Obtém um valor que indica se o arquivo ou diretório existe.

Extension

Obtém a parte de extensão do nome do arquivo, incluindo o ponto . à esquerda, mesmo que seja o nome do arquivo inteiro ou uma cadeia de caracteres vazia se nenhuma extensão estiver presente.

FullName

Obtém o caminho completo do diretório ou arquivo.

LastAccessTime

Obtém ou define a hora em que o arquivo ou diretório atual foi acessado pela última vez.

LastAccessTimeUtc

Obtém ou define a hora, em UTC (tempo universal coordenado), em que o arquivo ou diretório atual foi acessado pela última vez.

LastWriteTime

Obtém ou define a hora em que o arquivo ou diretório atual foi gravado pela última vez.

LastWriteTimeUtc

Obtém ou define a hora, em UTC (tempo universal coordenado), quando o arquivo ou diretório atual foi gravado pela última vez.

LinkTarget

Obtém o caminho de destino do link localizado ou FullNamenull se essa FileSystemInfo instância não representa um link.

Name

Para arquivos, obtém o nome do arquivo. Para diretórios, obtém o nome do último diretório na hierarquia se houver uma hierarquia. Caso contrário, a Name propriedade obtém o nome do diretório.

UnixFileMode

Obtém ou define o modo de arquivo Unix para o arquivo ou diretório atual.

Métodos

Nome Description
CreateAsSymbolicLink(String)

Cria um link simbólico localizado em FullName que aponta para o especificado pathToTarget.

CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Delete()

Exclui um arquivo ou diretório.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetLifetimeService()
Obsoleto.

Recupera o objeto de serviço de tempo de vida atual que controla a política de tempo de vida para essa instância.

(Herdado de MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)
Obsoleto.

Define o SerializationInfo objeto com o nome do arquivo e informações adicionais de exceção.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()
Obsoleto.

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida dessa instância.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto atual MarshalByRefObject .

(Herdado de MarshalByRefObject)
Refresh()

Atualiza o estado do objeto.

ResolveLinkTarget(Boolean)

Obtém o destino do link especificado.

ToString()

Retorna o caminho original. Use as propriedades ou FullName o Name caminho completo ou o nome do arquivo/diretório.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também