Udostępnij za pośrednictwem


FileSystemInfo Klasa

Definicja

Udostępnia klasę bazową dla obiektów FileInfo i .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
Dziedziczenie
FileSystemInfo
Dziedziczenie
FileSystemInfo
Pochodne
Atrybuty
Implementuje

Przykłady

W poniższym przykładzie pokazano, jak przechodzić w pętli przez wszystkie pliki i katalogi, wykonując zapytania dotyczące niektórych informacji o każdym wpisie.

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

Uwagi

Klasa FileSystemInfo zawiera metody, które są wspólne dla manipulowania plikami i katalogami. Obiekt FileSystemInfo może reprezentować plik lub katalog, służąc w ten sposób jako podstawa dla FileInfo obiektów lub DirectoryInfo . Użyj tej klasy bazowej podczas analizowania wielu plików i katalogów.

Klasa pochodna może dziedziczyć tylko FileSystemInfo wtedy, gdy klasa pochodna ma uprawnienie AllAccess z FileIOPermissionAccess wyliczenia.

W elementach członkowskich, które akceptują ścieżkę, ścieżka może odwoływać się do pliku lub tylko katalogu. Określona ścieżka może również odwoływać się do ścieżki względnej lub ścieżki Universal Naming Convention (UNC) dla serwera i nazwy udziału. Na przykład wszystkie następujące ścieżki są dopuszczalne:

  • "c:\\MyDir\\MyFile.txt" w języku C# lub "c:\MyDir\MyFile.txt" w języku Visual Basic.

  • "c:\\MyDir" w języku C# lub "c:\MyDir" w Visual Basic.

  • "MyDir\\MySubdir" w języku C# lub "MyDir\MySubDir" w Visual Basic.

  • "\\\MyServer\\MyShare" w języku C# lub "\MyServer\MyShare" w Visual Basic.

Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.

Konstruktory

FileSystemInfo()

Inicjuje nowe wystąpienie klasy FileSystemInfo.

FileSystemInfo(SerializationInfo, StreamingContext)
Przestarzałe.

Inicjuje nowe wystąpienie klasy FileSystemInfo z zserializowanymi danymi.

Pola

FullPath

Reprezentuje w pełni kwalifikowaną ścieżkę katalogu lub pliku.

OriginalPath

Ścieżka pierwotnie określona przez użytkownika, niezależnie od tego, czy jest względna, czy bezwzględna.

Właściwości

Attributes

Pobiera lub ustawia atrybuty dla bieżącego pliku lub katalogu.

CreationTime

Pobiera lub ustawia czas tworzenia bieżącego pliku lub katalogu.

CreationTimeUtc

Pobiera lub ustawia czas tworzenia w skoordynowanym uniwersalnym czasie (UTC) bieżącego pliku lub katalogu.

Exists

Pobiera wartość wskazującą, czy plik lub katalog istnieje.

Extension

Pobiera część rozszerzenia nazwy pliku, w tym kropkę wiodącą . , nawet jeśli jest to cała nazwa pliku lub pusty ciąg, jeśli nie ma rozszerzenia.

FullName

Pobiera pełną ścieżkę katalogu lub pliku.

LastAccessTime

Pobiera lub ustawia czas ostatniego uzyskania dostępu do bieżącego pliku lub katalogu.

LastAccessTimeUtc

Pobiera lub ustawia czas w skoordynowanym uniwersalnym czasie (UTC), do którego ostatnio uzyskiwano dostęp do bieżącego pliku lub katalogu.

LastWriteTime

Pobiera lub ustawia czas ostatniego zapisania bieżącego pliku lub katalogu.

LastWriteTimeUtc

Pobiera lub ustawia czas, w skoordynowanym uniwersalnym czasie (UTC), kiedy bieżący plik lub katalog został ostatnio zapisany.

LinkTarget

Pobiera ścieżkę docelową linku znajdującego się w FullNamelokalizacji lub null jeśli to FileSystemInfo wystąpienie nie reprezentuje łącza.

Name

W przypadku plików pobiera nazwę pliku. W przypadku katalogów pobiera nazwę ostatniego katalogu w hierarchii, jeśli istnieje hierarchia. Name W przeciwnym razie właściwość pobiera nazwę katalogu.

UnixFileMode

Pobiera lub ustawia tryb pliku systemu Unix dla bieżącego pliku lub katalogu.

Metody

CreateAsSymbolicLink(String)

Tworzy link symboliczny znajdujący się w FullName tym miejscu wskazujący określony pathToTargetelement .

CreateObjRef(Type)

Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym.

(Odziedziczone po MarshalByRefObject)
Delete()

Usuwa plik lub katalog.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetLifetimeService()
Przestarzałe.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)
Przestarzałe.

SerializationInfo Ustawia obiekt z nazwą pliku i dodatkowymi informacjami o wyjątku.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
InitializeLifetimeService()
Przestarzałe.

Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu.

(Odziedziczone po MarshalByRefObject)
Refresh()

Odświeża stan obiektu.

ResolveLinkTarget(Boolean)

Pobiera element docelowy określonego łącza.

ToString()

Zwraca oryginalną ścieżkę. FullName Użyj właściwości lub Name dla pełnej ścieżki lub nazwy pliku/katalogu.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też