Esporta (0) Stampa
Espandi tutto

Classe FileSystemInfo

Fornisce la classe base per gli oggetti FileInfo e DirectoryInfo.

Spazio dei nomi: System.IO
Assembly: mscorlib (in mscorlib.dll)

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public abstract class FileSystemInfo : MarshalByRefObject, ISerializable
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public abstract class FileSystemInfo extends MarshalByRefObject implements ISerializable
SerializableAttribute 
ComVisibleAttribute(true) 
public abstract class FileSystemInfo extends MarshalByRefObject implements ISerializable

La classe FileSystemInfo contiene i metodi comuni per la modifica di file e directory. Un oggetto FileSystemInfo può rappresentare un file o una directory e pertanto essere utilizzato come base per oggetti FileInfo o DirectoryInfo. Utilizzare questa classe base durante l'analisi di più file e directory.

Quando viene chiamato per la prima volta, FileSystemInfo chiama Refresh e restituisce le informazioni memorizzate nella cache relative alle API per ottenere gli attributi e così via. Nella chiamate successive, è necessario chiamare Refresh per ottenere l'ultima copia delle informazioni.

Una classe derivata può ereditare da FileSystemInfo solo se dispone dell'autorizzazione AllAccess proveniente dall'enumerazione FileIOPermissionAccess.

Nei membri che accettano un percorso, quest'ultimo 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. Tutti i seguenti percorsi, ad esempio, 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.

Nella tabella che segue vengono elencati esempi di altre attività di I/O tipiche o correlate.

Per eseguire questa operazione...

Vedere l'esempio in questo argomento...

Creazione di un file di testo.

Procedura: scrivere testo su un file

Scrittura in un file di testo.

Procedura: scrivere testo su un file

Lettura da un file di testo.

Procedura: leggere testo da un file

Aggiunta di testo a un file.

Procedura: aprire e accodare un file di log

File.AppendText

FileInfo.AppendText

Eliminazione di un file.

File.Delete

FileInfo.Delete

Ridenominazione o spostamento di un file.

File.Move

FileInfo.MoveTo

Copia di un file.

File.Copy

FileInfo.CopyTo

Creazione di una directory.

Directory.CreateDirectory

System.IO.DirectoryInfo

Creazione di una sottodirectory.

CreateSubdirectory

Ridenominazione o spostamento di una directory.

Directory.Move

DirectoryInfo.MoveTo

Eliminazione di una directory.

Directory.Delete

DirectoryInfo.Delete

Copia di una directory.

Directory

Ordinamento dei file in una directory per dimensione.

GetFileSystemInfos

Visualizzazione dei file in una directory.

Name

Visualizzazione delle sottodirectory di una directory.

GetDirectories

GetDirectories

Visualizzazione di tutti i file in tutte le sottodirectory di una directory.

GetFileSystemInfos

Ricerca della dimensione di una directory.

Directory

Acquisizione della dimensione di un file.

FileInfo.Length

Acquisizione degli attributi di un file.

File.GetAttributes

Impostazione degli attributi di un file.

File.SetAttributes

Determinazione dell'esistenza di un file.

File.Exists

Lettura da un file binario.

Procedura: leggere e scrivere su un file di dati appena creato

Scrittura in un file binario.

Procedura: leggere e scrivere su un file di dati appena creato

Recupero di un'estensione di file.

Path.GetExtension

Recupero del percorso completo di un file.

Path.GetFullPath

Recupero del nome e dell'estensione del file da un percorso.

Path.GetFileName

Modifica dell'estensione di un file.

Path.ChangeExtension

Nell'esempio riportato di seguito viene illustrato come scorrere tutti i file e le directory, richiedendo tramite query alcune informazioni su ogni voce.

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) <> 0 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

  • FileIOPermission  Enumerazione associata: Unrestricted Azione di protezione: richiesta di ereditarietà Per l'autorizzazione a ereditare da questa classe.

I membri statici pubblici (Shared in Visual Basic) di questo tipo sono validi per le operazioni multithreading. I membri di istanza non sono garantiti come thread safe.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile per Pocket PC, Windows Mobile per Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

.NET Framework

Supportato in: 2.0 1.1 1.0

.NET Compact Framework

Supportato in: 2.0 1.0

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft