FileSystemInfo Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce la classe base per gli oggetti FileInfo e 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
- Ereditarietà
-
FileSystemInfo
- Ereditarietà
- Derivato
- Attributi
- Implementazioni
Esempio
Nell'esempio seguente viene illustrato come scorrere tutti i file e le directory, eseguendo una query su alcune informazioni su ogni voce.
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
Commenti
La FileSystemInfo classe contiene metodi comuni alla manipolazione di file e directory. Un FileSystemInfo oggetto può rappresentare un file o una directory, fungendo quindi da base per FileInfo gli oggetti o DirectoryInfo . Usare questa classe di base durante l'analisi di molti file e directory.
Una classe derivata può ereditare da FileSystemInfo solo se la classe derivata dispone dell'autorizzazione AllAccess dall'enumerazione FileIOPermissionAccess .
Nei membri che accettano un percorso, il percorso può fare riferimento a un file o solo a una directory. Il percorso specificato può anche fare riferimento a un percorso relativo o a un percorso UNC (Universal Naming Convention) per un server e un nome di condivisione. Ad esempio, tutti i percorsi seguenti sono accettabili:
"c:\\MyDir\\MyFile.txt" in C# o "c:\MyDir\MyFile.txt" in Visual Basic.
"c:\\MyDir" in C#, o "c:\MyDir" in Visual Basic.
"MyDir\\MySubdir" in C#, o "MyDir\MySubDir" in Visual Basic.
"\\\\MyServer\\MyShare" in C#o "\\MyServer\MyShare" in Visual Basic.
Per un elenco delle attività di I/O comuni, vedere Attività di I/O comuni.
Costruttori
FileSystemInfo() |
Inizializza una nuova istanza della classe FileSystemInfo. |
FileSystemInfo(SerializationInfo, StreamingContext) |
Obsoleti.
Inizializza una nuova istanza della classe FileSystemInfo con dati serializzati. |
Campi
FullPath |
Rappresenta il percorso completo del file o della directory. |
OriginalPath |
Percorso, assoluto o relativo, originariamente specificato dall'utente. |
Proprietà
Attributes |
Ottiene o imposta gli attributi per il file o la directory corrente. |
CreationTime |
Ottiene o imposta l'ora di creazione del file o della directory corrente. |
CreationTimeUtc |
Ottiene o imposta l'ora di creazione, nell'ora UTC (Coordinated Universal Time) del file o della directory corrente. |
Exists |
Recupera un valore che indica se il file o la directory esiste. |
Extension |
Ottiene la parte di estensione del nome del file, incluso il punto |
FullName |
Recupera il percorso completo del file o della directory. |
LastAccessTime |
Recupera o imposta l'ora in cui è avvenuto l'ultimo accesso al file o alla directory corrente. |
LastAccessTimeUtc |
Ottiene o imposta l'ora, nell'ora UTC (Universal Coordinated Time), dell'ultimo accesso al file o alla directory corrente. |
LastWriteTime |
Recupera o imposta l'ora dell'ultima modifica del file o della directory corrente. |
LastWriteTimeUtc |
Ottiene o imposta l'ora, nell'ora UTC (Universal Coordinated Time), dell'ultima scrittura al file o alla directory corrente. |
LinkTarget |
Ottiene il percorso di destinazione del collegamento che si trova in FullNameo |
Name |
Nel caso di file, ottiene il nome del file. Nel caso di directory, ottiene il nome dell'ultima directory nella gerarchia, se esiste una gerarchia. In caso contrario, la proprietà |
UnixFileMode |
Ottiene o imposta la modalità file Unix per il file o la directory corrente. |
Metodi
CreateAsSymbolicLink(String) |
Crea un collegamento simbolico che si trova in FullName che punta all'oggetto specificato |
CreateObjRef(Type) |
Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto. (Ereditato da MarshalByRefObject) |
Delete() |
Elimina un file o una directory. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetLifetimeService() |
Obsoleti.
Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza. (Ereditato da MarshalByRefObject) |
GetObjectData(SerializationInfo, StreamingContext) |
Obsoleti.
Imposta l'oggetto SerializationInfo con il nome del file e le informazioni aggiuntive sull'eccezione. |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
InitializeLifetimeService() |
Obsoleti.
Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
MemberwiseClone(Boolean) |
Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente. (Ereditato da MarshalByRefObject) |
Refresh() |
Aggiorna lo stato dell'oggetto. |
ResolveLinkTarget(Boolean) |
Ottiene la destinazione del collegamento specificato. |
ToString() |
Restituisce il percorso originale. Usare le proprietà FullName o Name per il percorso completo o il nome di file/directory. |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |