FileInfo FileInfo FileInfo FileInfo Class

Definizione

Fornisce proprietà e metodi dell'istanza per la creazione, la copia, lo spostamento e l'apertura di file e facilita la creazione di oggetti FileStream.Provides properties and instance methods for the creation, copying, deletion, moving, and opening of files, and aids in the creation of FileStream objects. Questa classe non può essere ereditata.This class cannot be inherited.

public ref class FileInfo sealed : System::IO::FileSystemInfo
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class FileInfo : System.IO.FileSystemInfo
type FileInfo = class
    inherit FileSystemInfo
Public NotInheritable Class FileInfo
Inherits FileSystemInfo
Ereditarietà
Attributi

Esempi

L'esempio seguente illustra alcuni dei membri principali del FileInfo classe.The following example demonstrates some of the main members of the FileInfo class.

Quando le proprietà recuperate inizialmente, FileInfo chiama il Refresh (metodo) e le cache di informazioni sul file.When the properties are first retrieved, FileInfo calls the Refresh method and caches information about the file. Per le chiamate successive, è necessario chiamare Refresh per ottenere l'ultima copia delle informazioni.On subsequent calls, you must call Refresh to get the latest copy of the information.

using namespace System;
using namespace System::IO;

int main()
{
   String^ path = Path::GetTempFileName();
   FileInfo^ fi1 = gcnew FileInfo( path );
   //Create a file to write to.
   StreamWriter^ sw = fi1->CreateText();
   try
   {
	 sw->WriteLine( "Hello" );
	 sw->WriteLine( "And" );
	 sw->WriteLine( "Welcome" );
   }
   finally
   {
	 if ( sw )
		delete (IDisposable^)sw;
   }

   //Open the file to read from.
   StreamReader^ sr = fi1->OpenText();
   try
   {
      String^ s = "";
      while ( s = sr->ReadLine() )
      {
         Console::WriteLine( s );
      }
   }
   finally
   {
      if ( sr )
         delete (IDisposable^)sr;
   }

   try
   {
      String^ path2 = Path::GetTempFileName();
      FileInfo^ fi2 = gcnew FileInfo( path2 );

      //Ensure that the target does not exist.
      fi2->Delete();

      //Copy the file.
      fi1->CopyTo( path2 );
      Console::WriteLine( "{0} was copied to {1}.", path, path2 );

      //Delete the newly created file.
      fi2->Delete();
      Console::WriteLine( "{0} was successfully deleted.", path2 );
   }
   catch ( Exception^ e )
   {
      Console::WriteLine( "The process failed: {0}", e );
   }
}
using System;
using System.IO;

class Test 
{
	
    public static void Main() 
    {
        string path = Path.GetTempFileName();
        FileInfo fi1 = new FileInfo(path);

        //Create a file to write to.
        using (StreamWriter sw = fi1.CreateText()) 
        {
            sw.WriteLine("Hello");
            sw.WriteLine("And");
            sw.WriteLine("Welcome");
        }	

        //Open the file to read from.
        using (StreamReader sr = fi1.OpenText()) 
        {
            string s = "";
            while ((s = sr.ReadLine()) != null) 
            {
                Console.WriteLine(s);
            }
        }

        try 
        {
            string path2 = Path.GetTempFileName();
            FileInfo fi2 = new FileInfo(path2);

            //Ensure that the target does not exist.
            fi2.Delete();

            //Copy the file.
            fi1.CopyTo(path2);
            Console.WriteLine("{0} was copied to {1}.", path, path2);

            //Delete the newly created file.
            fi2.Delete();
            Console.WriteLine("{0} was successfully deleted.", path2);

        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}
Imports System
Imports System.IO

Public Class Test

    Public Shared Sub Main()
        Dim path1 As String = Path.GetTempFileName()
        Dim path2 As String = Path.GetTempFileName()
        Dim fi As FileInfo = New FileInfo(path1)

        'Create a file to write to.
        Dim sw As StreamWriter = fi.CreateText()

        sw.WriteLine("Hello")
        sw.WriteLine("And")
        sw.WriteLine("Welcome")
        sw.Flush()
        sw.Close()

        Try
            'Open the file to read from.
            Dim sr As StreamReader = fi.OpenText()

            Do While sr.Peek() >= 0
                Console.WriteLine(sr.ReadLine())
            Loop
            sr.Close()
            Dim fi2 As FileInfo = New FileInfo(path2)

            'Ensure that the target does not exist.
            fi2.Delete()

            'Copy the file.
            fi.CopyTo(path2)
            Console.WriteLine("{0} was copied to {1}.", path1, path2)

            'Delete the newly created file.
            fi2.Delete()
            Console.WriteLine("{0} was successfully deleted.", path2)

        Catch e As Exception
            Console.WriteLine("The process failed: {0}.", e.ToString())
        End Try
    End Sub
End Class

Questo esempio produce l'output sarà simile al seguente.This example produces output similar to the following.

Hello  
And  
Welcome  
C:\Users\userName\AppData\Local\Temp\tmp70AB.tmp was copied to C:\Users\userName\AppData\Local\Temp\tmp70CB.tmp.  
C:\Users\userName\AppData\Local\Temp\tmp70CB.tmp was successfully deleted.  

Commenti

Usare il FileInfo classe per le operazioni tipiche, ad esempio la copia, lo spostamento, ridenominazione, creazione, apertura, eliminazione e aggiunta ai file.Use the FileInfo class for typical operations such as copying, moving, renaming, creating, opening, deleting, and appending to files.

Se si eseguono più operazioni sullo stesso file, può essere più efficiente usare FileInfo anziché i metodi statici corrispondenti di metodi di istanza di File classe, poiché un controllo di sicurezza non saranno sempre necessario.If you are performing multiple operations on the same file, it can be more efficient to use FileInfo instance methods instead of the corresponding static methods of the File class, because a security check will not always be necessary.

Molte del FileInfo metodi restituiscono altri tipi dei / o quando si crea o aprire i file.Many of the FileInfo methods return other I/O types when you create or open files. È possibile utilizzare questi altri tipi per gestire ulteriormente un file.You can use these other types to further manipulate a file. Per altre informazioni, vedere specifici FileInfo i membri, ad esempio Open, OpenRead, OpenText, CreateText, o Create.For more information, see specific FileInfo members such as Open, OpenRead, OpenText, CreateText, or Create.

Per impostazione predefinita, accesso completo in lettura/scrittura per i nuovi file viene concesso a tutti gli utenti.By default, full read/write access to new files is granted to all users.

Nella tabella seguente descrive le enumerazioni che consentono di personalizzare il comportamento di vari FileInfo metodi.The following table describes the enumerations that are used to customize the behavior of various FileInfo methods.

EnumerazioneEnumeration DescrizioneDescription
FileAccess Specifica l'accesso in lettura e scrittura in un file.Specifies read and write access to a file.
FileShare Specifica il livello di accesso consentito per un file che è già in uso.Specifies the level of access permitted for a file that is already in use.
FileMode Specifica se venga mantenuto o sovrascrivere il contenuto di un file esistente e il fatto che le richieste per creare un file esistente generano un'eccezione.Specifies whether the contents of an existing file are preserved or overwritten, and whether requests to create an existing file cause an exception.

Nota

I membri che accettano un percorso come una stringa di input, che il percorso deve essere nel formato corretto o viene generata un'eccezione.In members that accept a path as an input string, that path must be well-formed or an exception is raised. Ad esempio, se un percorso completo, ma inizia con uno spazio, il percorso non viene ritagliato in metodi della classe.For example, if a path is fully qualified but begins with a space, the path is not trimmed in methods of the class. Di conseguenza, il percorso sia valido e viene generata un'eccezione.Therefore, the path is malformed and an exception is raised. Analogamente, un percorso o una combinazione di percorsi non può essere completamente qualificata due volte.Similarly, a path or a combination of paths cannot be fully qualified twice. Ad esempio, "c:\windows c:\temp" genera anche un'eccezione nella maggior parte dei casi.For example, "c:\temp c:\windows" also raises an exception in most cases. Assicurarsi che i percorsi siano in formato corretto quando si usano i metodi che accettano una stringa di percorso.Ensure that your paths are well-formed when using methods that accept a path string.

Nei membri che accettano un percorso, il percorso può fare riferimento a un file o solo una directory.In members that accept a path, the path can refer to a file or just a directory. Il percorso specificato può anche fare riferimento a un percorso relativo o un percorso Universal Naming Convention (UNC) per un nome di server e la condivisione.The specified path can also refer to a relative path or a Universal Naming Convention (UNC) path for a server and share name. Ad esempio, le condizioni seguenti sono percorsi accettabili:For example, all the following are acceptable paths:

  • "c:\\MyDir\\MyFile.txt" in C# o "c:\MyDir\MyFile.txt" in Visual Basic."c:\\MyDir\\MyFile.txt" in C#, or "c:\MyDir\MyFile.txt" in Visual Basic.

  • "c:\\MyDir" in C# o "c:\MyDir" in Visual Basic."c:\\MyDir" in C#, or "c:\MyDir" in Visual Basic.

  • "MyDir\\MySubdir" in C# o "MyDir\MySubDir" in Visual Basic."MyDir\\MySubdir" in C#, or "MyDir\MySubDir" in Visual Basic.

  • "\\\\MyServer\\MyShare" nel linguaggio C#, o "\\MyServer\MyShare" in Visual Basic."\\\\MyServer\\MyShare" in C#, or "\\MyServer\MyShare" in Visual Basic.

Il FileInfo classe fornisce le proprietà seguenti che consentono di recuperare le informazioni relative a un file.The FileInfo class provides the following properties that enable you to retrieve information about a file. Per un esempio di come usare ogni proprietà, vedere le pagine delle proprietà.For an example of how to use each property, see the property pages.

  • Il Directory proprietà recupera un oggetto che rappresenta la directory padre di un file.The Directory property retrieves an object that represents the parent directory of a file.

  • Il DirectoryName proprietà recupera il percorso completo della directory padre di un file.The DirectoryName property retrieves the full path of the parent directory of a file.

  • Il Exists proprietà controlla la presenza di un file prima di eseguire operazioni su di esso.The Exists property checks for the presence of a file before operating on it.

  • Il IsReadOnly proprietà recupera o imposta un valore che specifica se un file può essere modificato.The IsReadOnly property retrieves or sets a value that specifies whether a file can be modified.

  • Il Length recupera le dimensioni di un file.The Length retrieves the size of a file.

  • Il Name recupera il nome di un file.The Name retrieves the name of a file.

Costruttori

FileInfo(String) FileInfo(String) FileInfo(String) FileInfo(String)

Inizializza una nuova istanza della classe FileInfo, che agisce da wrapper per un percorso di file.Initializes a new instance of the FileInfo class, which acts as a wrapper for a file path.

Proprietà

Attributes Attributes Attributes Attributes

Ottiene o imposta gli attributi per il file o la directory corrente.Gets or sets the attributes for the current file or directory.

(Inherited from FileSystemInfo)
CreationTime CreationTime CreationTime CreationTime

Ottiene o imposta l'ora di creazione del file o della directory corrente.Gets or sets the creation time of the current file or directory.

(Inherited from FileSystemInfo)
CreationTimeUtc CreationTimeUtc CreationTimeUtc CreationTimeUtc

Ottiene o imposta l'ora di creazione, nell'ora UTC (Coordinated Universal Time) del file o della directory corrente.Gets or sets the creation time, in coordinated universal time (UTC), of the current file or directory.

(Inherited from FileSystemInfo)
Directory Directory Directory Directory

Ottiene un'istanza della directory padre.Gets an instance of the parent directory.

DirectoryName DirectoryName DirectoryName DirectoryName

Recupera una stringa che rappresenta il percorso completo della directory.Gets a string representing the directory's full path.

Exists Exists Exists Exists

Ottiene un valore che indica se un file esiste.Gets a value indicating whether a file exists.

Extension Extension Extension Extension

Ottiene la stringa che rappresenta l'estensione del file.Gets the string representing the extension part of the file.

(Inherited from FileSystemInfo)
FullName FullName FullName FullName

Ottiene il percorso completo del file o della directory.Gets the full path of the directory or file.

(Inherited from FileSystemInfo)
IsReadOnly IsReadOnly IsReadOnly IsReadOnly

Ottiene o imposta un valore che determina se il file corrente è di sola lettura.Gets or sets a value that determines if the current file is read only.

LastAccessTime LastAccessTime LastAccessTime LastAccessTime

Ottiene o imposta l'ora in cui è avvenuto l'ultimo accesso al file o alla directory corrente.Gets or sets the time the current file or directory was last accessed.

(Inherited from FileSystemInfo)
LastAccessTimeUtc LastAccessTimeUtc LastAccessTimeUtc LastAccessTimeUtc

Ottiene o imposta l'ora, nell'ora UTC (Universal Coordinated Time), dell'ultimo accesso al file o alla directory corrente.Gets or sets the time, in coordinated universal time (UTC), that the current file or directory was last accessed.

(Inherited from FileSystemInfo)
LastWriteTime LastWriteTime LastWriteTime LastWriteTime

Ottiene o imposta l'ora dell'ultima modifica del file o della directory corrente.Gets or sets the time when the current file or directory was last written to.

(Inherited from FileSystemInfo)
LastWriteTimeUtc LastWriteTimeUtc LastWriteTimeUtc LastWriteTimeUtc

Ottiene o imposta l'ora, nell'ora UTC (Universal Coordinated Time), dell'ultima scrittura al file o alla directory corrente.Gets or sets the time, in coordinated universal time (UTC), when the current file or directory was last written to.

(Inherited from FileSystemInfo)
Length Length Length Length

Ottiene le dimensioni in byte del file corrente.Gets the size, in bytes, of the current file.

Name Name Name Name

Recupera il nome del file.Gets the name of the file.

Metodi

AppendText() AppendText() AppendText() AppendText()

Crea un oggetto StreamWriter che aggiunge testo al file rappresentato da questa istanza di FileInfo.Creates a StreamWriter that appends text to the file represented by this instance of the FileInfo.

CopyTo(String) CopyTo(String) CopyTo(String) CopyTo(String)

Copia un file esistente in un nuovo file, non consentendo la sovrascrittura di un file esistente.Copies an existing file to a new file, disallowing the overwriting of an existing file.

CopyTo(String, Boolean) CopyTo(String, Boolean) CopyTo(String, Boolean) CopyTo(String, Boolean)

Copia un file esistente in un nuovo file, consentendo la sovrascrittura di un file esistente.Copies an existing file to a new file, allowing the overwriting of an existing file.

Create() Create() Create() Create()

Crea un file.Creates a file.

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) 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.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
CreateText() CreateText() CreateText() CreateText()

Crea un oggetto StreamWriter che scrive un nuovo file di testo.Creates a StreamWriter that writes a new text file.

Decrypt() Decrypt() Decrypt() Decrypt()

Decrittografa un file crittografato dall'account corrente usando il metodo Encrypt().Decrypts a file that was encrypted by the current account using the Encrypt() method.

Delete() Delete() Delete() Delete()

Elimina un file in modo permanente.Permanently deletes a file.

Encrypt() Encrypt() Encrypt() Encrypt()

Crittografa un file in modo che possa essere decrittografato solamente dall'account che lo ha crittografato.Encrypts a file so that only the account used to encrypt the file can decrypt it.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetAccessControl() GetAccessControl() GetAccessControl() GetAccessControl()

Ottiene un oggetto FileSecurity che incapsula le voci dell'elenco di controllo di accesso (ACL) per il file descritto dall'oggetto FileInfo corrente.Gets a FileSecurity object that encapsulates the access control list (ACL) entries for the file described by the current FileInfo object.

GetAccessControl(AccessControlSections) GetAccessControl(AccessControlSections) GetAccessControl(AccessControlSections) GetAccessControl(AccessControlSections)

Ottiene un oggetto FileSecurity che incapsula il tipo specificato di voci dell'elenco di controllo di accesso (ACL) per il file descritto dall'oggetto FileInfo.Gets a FileSecurity object that encapsulates the specified type of access control list (ACL) entries for the file described by the current FileInfo object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

Imposta l'oggetto SerializationInfo con il nome del file e le informazioni aggiuntive sull'eccezione.Sets the SerializationInfo object with the file name and additional exception information.

(Inherited from FileSystemInfo)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
MoveTo(String) MoveTo(String) MoveTo(String) MoveTo(String)

Sposta il file specificato in un nuovo percorso, consentendo di specificare per esso un nuovo nome.Moves a specified file to a new location, providing the option to specify a new file name.

MoveTo(String, Boolean) MoveTo(String, Boolean) MoveTo(String, Boolean) MoveTo(String, Boolean)
Open(FileMode) Open(FileMode) Open(FileMode) Open(FileMode)

Apre un file nella modalità specificata.Opens a file in the specified mode.

Open(FileMode, FileAccess) Open(FileMode, FileAccess) Open(FileMode, FileAccess) Open(FileMode, FileAccess)

Apre un file nella modalità specificata, con accesso in scrittura o lettura/scrittura.Opens a file in the specified mode with read, write, or read/write access.

Open(FileMode, FileAccess, FileShare) Open(FileMode, FileAccess, FileShare) Open(FileMode, FileAccess, FileShare) Open(FileMode, FileAccess, FileShare)

Apre un file nella modalità specificata, con accesso in lettura, in scrittura o in lettura/scrittura e l'opzione di condivisione specificata.Opens a file in the specified mode with read, write, or read/write access and the specified sharing option.

OpenRead() OpenRead() OpenRead() OpenRead()

Crea un oggetto FileStream di sola lettura.Creates a read-only FileStream.

OpenText() OpenText() OpenText() OpenText()

Crea un oggetto StreamReader con codifica UTF8, che legge da un file di testo esistente.Creates a StreamReader with UTF8 encoding that reads from an existing text file.

OpenWrite() OpenWrite() OpenWrite() OpenWrite()

Crea un oggetto FileStream di sola scrittura.Creates a write-only FileStream.

Refresh() Refresh() Refresh() Refresh()

Aggiorna lo stato dell'oggetto.Refreshes the state of the object.

(Inherited from FileSystemInfo)
Replace(String, String) Replace(String, String) Replace(String, String) Replace(String, String)

Sostituisce il contenuto di un file specificato con il file descritto dall'oggetto FileInfo corrente, eliminando il file originale e creando una copia di backup del file sostituito.Replaces the contents of a specified file with the file described by the current FileInfo object, deleting the original file, and creating a backup of the replaced file.

Replace(String, String, Boolean) Replace(String, String, Boolean) Replace(String, String, Boolean) Replace(String, String, Boolean)

Sostituisce il contenuto di un file specificato con il file descritto dall'oggetto FileInfo corrente, eliminando il file originale e creando una copia di backup del file sostituito.Replaces the contents of a specified file with the file described by the current FileInfo object, deleting the original file, and creating a backup of the replaced file. Specifica inoltre se ignorare gli errori di merge.Also specifies whether to ignore merge errors.

SetAccessControl(FileSecurity) SetAccessControl(FileSecurity) SetAccessControl(FileSecurity) SetAccessControl(FileSecurity)

Applica le voci dell'elenco di controllo di accesso (ACL) descritte da un oggetto FileSecurity nel file specificato dall'oggetto FileInfo corrente.Applies access control list (ACL) entries described by a FileSecurity object to the file described by the current FileInfo object.

ToString() ToString() ToString() ToString()

Restituisce il percorso in forma di stringa.Returns the path as a string.

Campi

FullPath FullPath FullPath FullPath

Rappresenta il percorso completo del file o della directory.Represents the fully qualified path of the directory or file.

(Inherited from FileSystemInfo)
OriginalPath OriginalPath OriginalPath OriginalPath

Percorso, assoluto o relativo, originariamente specificato dall'utente.The path originally specified by the user, whether relative or absolute.

(Inherited from FileSystemInfo)

Extension Methods

GetAccessControl(FileInfo) GetAccessControl(FileInfo) GetAccessControl(FileInfo) GetAccessControl(FileInfo)
GetAccessControl(FileInfo, AccessControlSections) GetAccessControl(FileInfo, AccessControlSections) GetAccessControl(FileInfo, AccessControlSections) GetAccessControl(FileInfo, AccessControlSections)
SetAccessControl(FileInfo, FileSecurity) SetAccessControl(FileInfo, FileSecurity) SetAccessControl(FileInfo, FileSecurity) SetAccessControl(FileInfo, FileSecurity)

Si applica a

Vedi anche