FileInfo 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 proprietà e metodi dell'istanza per la creazione, la copia, lo spostamento e l'apertura di file e facilita la creazione di oggetti FileStream. La classe non può essere ereditata.
public ref class FileInfo sealed : System::IO::FileSystemInfo
public sealed class FileInfo : System.IO.FileSystemInfo
[System.Serializable]
public sealed class FileInfo : System.IO.FileSystemInfo
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FileInfo : System.IO.FileSystemInfo
type FileInfo = class
inherit FileSystemInfo
[<System.Serializable>]
type FileInfo = class
inherit FileSystemInfo
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileInfo = class
inherit FileSystemInfo
Public NotInheritable Class FileInfo
Inherits FileSystemInfo
- Ereditarietà
- Ereditarietà
- Attributi
Esempio
Nell'esempio seguente vengono illustrati alcuni dei membri principali della FileInfo
classe .
Quando le proprietà vengono recuperate per la prima volta, FileInfo chiama il metodo e memorizza nella Refresh cache le informazioni sul file. Nelle chiamate successive è necessario chiamare Refresh per ottenere la copia più recente delle informazioni.
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();
var 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())
{
var s = "";
while ((s = sr.ReadLine()) != null)
{
Console.WriteLine(s);
}
}
try
{
string path2 = Path.GetTempFileName();
var fi2 = new FileInfo(path2);
// Ensure that the target does not exist.
fi2.Delete();
// Copy the file.
fi1.CopyTo(path2);
Console.WriteLine($"{path} was copied to {path2}.");
// Delete the newly created file.
fi2.Delete();
Console.WriteLine($"{path2} was successfully deleted.");
}
catch (Exception e)
{
Console.WriteLine($"The process failed: {e.ToString()}");
}
}
}
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 New FileInfo(path1)
' Create a file to write to.
Using sw As StreamWriter = fi.CreateText()
sw.WriteLine("Hello")
sw.WriteLine("And")
sw.WriteLine("Welcome")
End Using
Try
' Open the file to read from.
Using sr As StreamReader = fi.OpenText()
Do While sr.Peek() >= 0
Console.WriteLine(sr.ReadLine())
Loop
End Using
Dim fi2 As New FileInfo(path2)
' Ensure that the target does not exist.
fi2.Delete()
' Copy the file.
fi.CopyTo(path2)
Console.WriteLine($"{path1} was copied to {path2}.")
' Delete the newly created file.
fi2.Delete()
Console.WriteLine($"{path2} was successfully deleted.")
Catch e As Exception
Console.WriteLine($"The process failed: {e.ToString()}.")
End Try
End Sub
End Class
In questo esempio viene generato un output simile al seguente.
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 la FileInfo classe per operazioni tipiche, ad esempio la copia, lo spostamento, la ridenominazione, la creazione, l'apertura, l'eliminazione e l'aggiunta ai file.
Se si eseguono più operazioni sullo stesso file, può essere più efficiente usare FileInfo i metodi di istanza anziché i metodi statici corrispondenti della File classe, perché un controllo di sicurezza non sarà sempre necessario.
Molti dei FileInfo metodi restituiscono altri tipi di I/O quando si creano o si aprono file. È possibile usare questi altri tipi per modificare ulteriormente un file. Per altre informazioni, vedere membri specifici FileInfo , ad Openesempio , OpenRead, OpenText, CreateTexto Create.
Per impostazione predefinita, l'accesso in lettura/scrittura completo ai nuovi file viene concesso a tutti gli utenti.
Nella tabella seguente vengono descritte le enumerazioni utilizzate per personalizzare il comportamento di vari FileInfo metodi.
Enumerazione | Descrizione |
---|---|
FileAccess | Specifica l'accesso in lettura e scrittura a un file. |
FileShare | Specifica il livello di accesso consentito per un file già in uso. |
FileMode | Specifica se il contenuto di un file esistente viene mantenuto o sovrascritto e se le richieste di creazione di un file esistente causano un'eccezione. |
Nota
Nei membri che accettano un percorso come stringa di input, tale percorso deve essere ben formato o viene generata un'eccezione. Ad esempio, se un percorso è completo ma inizia con uno spazio, il percorso non viene tagliato nei metodi della classe . Pertanto, il percorso è in formato non valido e viene generata un'eccezione. Analogamente, un percorso o una combinazione di percorsi non può essere completo due volte. Ad esempio, anche "c:\temp c:\windows" genera un'eccezione nella maggior parte dei casi. Assicurarsi che i percorsi siano ben formati quando si usano metodi che accettano una stringa di percorso.
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.
La FileInfo classe fornisce le proprietà seguenti che consentono di recuperare informazioni su un file. Per un esempio di come usare ogni proprietà, vedere le pagine delle proprietà.
La Directory proprietà recupera un oggetto che rappresenta la directory padre di un file.
La DirectoryName proprietà recupera il percorso completo della directory padre di un file.
La Exists proprietà verifica la presenza di un file prima di operare su di esso.
La IsReadOnly proprietà recupera o imposta un valore che specifica se è possibile modificare un file.
Recupera Length le dimensioni di un file.
Recupera Name il nome di un file.
Costruttori
FileInfo(String) |
Inizializza una nuova istanza della classe FileInfo, che agisce da wrapper per un percorso di file. |
Campi
FullPath |
Rappresenta il percorso completo del file o della directory. (Ereditato da FileSystemInfo) |
OriginalPath |
Percorso, assoluto o relativo, originariamente specificato dall'utente. (Ereditato da FileSystemInfo) |
Proprietà
Attributes |
Ottiene o imposta gli attributi per il file o la directory corrente. (Ereditato da FileSystemInfo) |
CreationTime |
Ottiene o imposta l'ora di creazione del file o della directory corrente. (Ereditato da FileSystemInfo) |
CreationTimeUtc |
Ottiene o imposta l'ora di creazione, nell'ora UTC (Coordinated Universal Time) del file o della directory corrente. (Ereditato da FileSystemInfo) |
Directory |
Ottiene un'istanza della directory padre. |
DirectoryName |
Recupera una stringa che rappresenta il percorso completo della directory. |
Exists |
Ottiene un valore che indica se un file esiste. |
Extension |
Ottiene la parte di estensione del nome del file, incluso il punto |
FullName |
Recupera il percorso completo del file o della directory. (Ereditato da FileSystemInfo) |
IsReadOnly |
Ottiene o imposta un valore che determina se il file corrente è di sola lettura. |
LastAccessTime |
Recupera o imposta l'ora in cui è avvenuto l'ultimo accesso al file o alla directory corrente. (Ereditato da FileSystemInfo) |
LastAccessTimeUtc |
Ottiene o imposta l'ora, nell'ora UTC (Universal Coordinated Time), dell'ultimo accesso al file o alla directory corrente. (Ereditato da FileSystemInfo) |
LastWriteTime |
Recupera o imposta l'ora dell'ultima modifica del file o della directory corrente. (Ereditato da FileSystemInfo) |
LastWriteTimeUtc |
Ottiene o imposta l'ora, nell'ora UTC (Universal Coordinated Time), dell'ultima scrittura al file o alla directory corrente. (Ereditato da FileSystemInfo) |
Length |
Ottiene le dimensioni in byte del file corrente. |
LinkTarget |
Ottiene il percorso di destinazione del collegamento che si trova in FullNameo |
Name |
Recupera il nome del file. |
UnixFileMode |
Ottiene o imposta la modalità file Unix per il file o la directory corrente. (Ereditato da FileSystemInfo) |
Metodi
AppendText() |
Crea un oggetto StreamWriter che aggiunge testo al file rappresentato da questa istanza di FileInfo. |
CopyTo(String) |
Copia un file esistente in un nuovo file, non consentendo la sovrascrittura di un file esistente. |
CopyTo(String, Boolean) |
Copia un file esistente in un nuovo file, consentendo la sovrascrittura di un file esistente. |
Create() |
Crea un file. |
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) |
CreateText() |
Crea un oggetto StreamWriter che scrive un nuovo file di testo. |
Decrypt() |
Decrittografa un file crittografato dall'account corrente usando il metodo Encrypt(). |
Delete() |
Elimina un file in modo permanente. |
Encrypt() |
Crittografa un file in modo che possa essere decrittografato solamente dall'account che lo ha crittografato. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetAccessControl() |
Ottiene un oggetto FileSecurity che incapsula le voci dell'elenco di controllo di accesso (ACL) per il file descritto dall'oggetto FileInfo corrente. |
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. |
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. (Ereditato da FileSystemInfo) |
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) |
MoveTo(String) |
Sposta il file specificato in un nuovo percorso, consentendo di specificare per esso un nuovo nome. |
MoveTo(String, Boolean) |
Sposta un file specificato in un nuovo percorso, fornendo le opzioni per specificare un nuovo nome file e sovrascrivere il file di destinazione se esiste già. |
Open(FileMode) |
Apre un file nella modalità specificata. |
Open(FileMode, FileAccess) |
Apre un file nella modalità specificata, con accesso in scrittura o lettura/scrittura. |
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. |
Open(FileStreamOptions) |
Inizializza una nuova istanza della FileStream classe con la modalità di creazione specificata, l'autorizzazione di lettura/scrittura e condivisione, l'accesso ad altri FileStream può avere sullo stesso file, le dimensioni del buffer, le opzioni di file aggiuntive e le dimensioni di allocazione. |
OpenRead() |
Crea un oggetto FileStream di sola lettura. |
OpenText() |
Crea un oggetto StreamReader con codifica UTF8, che legge da un file di testo esistente. |
OpenWrite() |
Crea un oggetto FileStream di sola scrittura. |
Refresh() |
Aggiorna lo stato dell'oggetto. (Ereditato da FileSystemInfo) |
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. |
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. Specifica inoltre se ignorare gli errori di merge. |
ResolveLinkTarget(Boolean) |
Ottiene la destinazione del collegamento specificato. (Ereditato da FileSystemInfo) |
SetAccessControl(FileSecurity) |
Applica le voci dell'elenco di controllo di accesso (ACL) descritte da un oggetto FileSecurity nel file specificato dall'oggetto FileInfo corrente. |
ToString() |
Restituisce il percorso originale passato al costruttore FileInfo. Utilizzare la FullName proprietà o Name per il percorso completo o il nome del file. |
ToString() |
Restituisce il percorso originale. Usare le proprietà FullName o Name per il percorso completo o il nome di file/directory. (Ereditato da FileSystemInfo) |
Metodi di estensione
Create(FileInfo, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity) |
Crea un nuovo flusso di file, verificando che venga creato con le proprietà e le impostazioni di sicurezza specificate. |
GetAccessControl(FileInfo) |
Restituisce le informazioni di sicurezza di un file. |
GetAccessControl(FileInfo, AccessControlSections) |
Restituisce le informazioni di sicurezza di un file. |
SetAccessControl(FileInfo, FileSecurity) |
Modifica gli attributi di sicurezza di un file esistente. |
Si applica a
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per