FileInfo Classe
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 di istanza per la creazione, la copia, l'eliminazione, lo spostamento e l'apertura di file e facilita la creazione di oggetti FileStream. Questa 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
Nell'esempio seguente vengono illustrati alcuni dei membri principali della classe FileInfo
.
Quando le proprietà vengono recuperate per la prima volta, FileInfo chiama il metodo Refresh e memorizza nella 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.
Usare la classe FileInfo 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 metodi di istanza anziché i metodi statici corrispondenti della classe File, perché non sarà sempre necessario un controllo di sicurezza.
Molti dei metodi di FileInfo 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 di FileInfo, ad esempio Open, OpenRead, OpenText, CreateTexto Create.
Per impostazione predefinita, l'accesso completo in lettura/scrittura ai nuovi file viene concesso a tutti gli utenti.
Nella tabella seguente vengono descritte le enumerazioni utilizzate per personalizzare il comportamento di vari metodi di FileInfo.
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 . Di conseguenza, il percorso non è valido e viene generata un'eccezione. Analogamente, un percorso o una combinazione di percorsi non può essere completo due volte. Ad esempio, "c:\temp c:\windows" genera anche 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 classe FileInfo 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 proprietà Directory recupera un oggetto che rappresenta la directory padre di un file.
La proprietà DirectoryName recupera il percorso completo della directory padre di un file.
La proprietà Exists verifica la presenza di un file prima di operare su di esso.
La proprietà IsReadOnly recupera o imposta un valore che specifica se un file può essere modificato.
Il Length recupera le dimensioni di un file.
Il Name recupera il nome di un file.
File |
Inizializza una nuova istanza della classe FileInfo, che funge da wrapper per un percorso di file. |
Full |
Rappresenta il percorso completo della directory o del file. (Ereditato da FileSystemInfo) |
Original |
Percorso originariamente specificato dall'utente, relativo o assoluto. (Ereditato da FileSystemInfo) |
Attributes |
Ottiene o imposta gli attributi per il file o la directory corrente. (Ereditato da FileSystemInfo) |
Creation |
Ottiene o imposta l'ora di creazione del file o della directory corrente. (Ereditato da FileSystemInfo) |
Creation |
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. |
Directory |
Ottiene una stringa che rappresenta il percorso completo della directory. |
Exists |
Ottiene un valore che indica se esiste un file. |
Extension |
Ottiene la parte di estensione del nome del file, incluso il punto iniziale |
Full |
Ottiene il percorso completo della directory o del file. (Ereditato da FileSystemInfo) |
Is |
Ottiene o imposta un valore che determina se il file corrente è di sola lettura. |
Last |
Ottiene o imposta l'ora dell'ultimo accesso al file o alla directory corrente. (Ereditato da FileSystemInfo) |
Last |
Ottiene o imposta l'ora, nell'ora UTC (Coordinated Universal Time), a cui è stato eseguito l'ultimo accesso al file o alla directory corrente. (Ereditato da FileSystemInfo) |
Last |
Ottiene o imposta l'ora dell'ultima scrittura del file o della directory corrente. (Ereditato da FileSystemInfo) |
Last |
Ottiene o imposta l'ora, nell'ora UTC (Coordinated Universal Time), quando il file o la directory corrente è stato scritto per l'ultima volta. (Ereditato da FileSystemInfo) |
Length |
Ottiene le dimensioni, in byte, del file corrente. |
Link |
Ottiene il percorso di destinazione del collegamento che si trova in FullNameo |
Name |
Ottiene il nome del file. |
Unix |
Ottiene o imposta la modalità file Unix per il file o la directory corrente. (Ereditato da FileSystemInfo) |
Append |
Crea un StreamWriter che accoda testo al file rappresentato da questa istanza del FileInfo. |
Copy |
Copia un file esistente in un nuovo file, non consentendo la sovrascrittura di un file esistente. |
Copy |
Copia un file esistente in un nuovo file, consentendo la sovrascrittura di un file esistente. |
Create() |
Crea un file. |
Create |
Crea un collegamento simbolico situato in FullName che punta al |
Create |
Crea un oggetto che contiene tutte le informazioni pertinenti necessarie per generare un proxy utilizzato per comunicare con un oggetto remoto. (Ereditato da MarshalByRefObject) |
Create |
Crea un StreamWriter che scrive un nuovo file di testo. |
Decrypt() |
Decrittografa un file crittografato dall'account corrente usando il metodo Encrypt(). |
Delete() |
Elimina definitivamente un file. |
Encrypt() |
Crittografa un file in modo che solo l'account usato per crittografare il file possa decrittografarlo. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
Get |
Ottiene un oggetto FileSecurity che incapsula le voci dell'elenco di controllo di accesso (ACL) per il file descritto dall'oggetto FileInfo corrente. |
Get |
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 corrente. |
Get |
Funge da funzione hash predefinita. (Ereditato da Object) |
Get |
Obsoleti.
Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
Get |
Obsoleti.
Imposta l'oggetto SerializationInfo con il nome file e informazioni aggiuntive sull'eccezione. (Ereditato da FileSystemInfo) |
Get |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
Initialize |
Obsoleti.
Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
Memberwise |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
Memberwise |
Crea una copia superficiale dell'oggetto MarshalByRefObject corrente. (Ereditato da MarshalByRefObject) |
Move |
Sposta un file specificato in un nuovo percorso, fornendo l'opzione per specificare un nuovo nome file. |
Move |
Sposta un file specificato in un nuovo percorso, specificando le opzioni per specificare un nuovo nome file e sovrascrivere il file di destinazione, se già esistente. |
Open(File |
Apre un file nella modalità specificata. |
Open(File |
Apre un file in modalità specificata con accesso in lettura, scrittura o lettura/scrittura. |
Open(File |
Apre un file in modalità specificata con accesso in lettura, scrittura o lettura/scrittura e l'opzione di condivisione specificata. |
Open(File |
Inizializza una nuova istanza della classe FileStream con la modalità di creazione specificata, l'autorizzazione di lettura/scrittura e condivisione, l'accesso ad altri FileStream può avere allo stesso file, alle dimensioni del buffer, alle opzioni di file aggiuntive e alle dimensioni di allocazione. |
Open |
Crea un FileStreamdi sola lettura. |
Open |
Crea un StreamReader con codifica UTF8 che legge da un file di testo esistente. |
Open |
Crea un FileStreamdi 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 un 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 un backup del file sostituito. Specifica inoltre se ignorare gli errori di merge. |
Resolve |
Ottiene la destinazione del collegamento specificato. (Ereditato da FileSystemInfo) |
Set |
Applica le voci dell'elenco di controllo di accesso (ACL) descritte da un oggetto FileSecurity al file descritto dall'oggetto FileInfo corrente. |
To |
Restituisce il percorso originale passato al costruttore FileInfo. Utilizzare la proprietà FullName o Name per il percorso completo o il nome file. |
To |
Restituisce il percorso originale. Usare le proprietà FullName o Name per il percorso completo o il nome di file/directory. (Ereditato da FileSystemInfo) |
Create(File |
Crea un nuovo flusso di file, assicurandosi che venga creato con le proprietà e le impostazioni di sicurezza specificate. |
Get |
Restituisce le informazioni di sicurezza di un file. |
Get |
Restituisce le informazioni di sicurezza di un file. |
Set |
Modifica gli attributi di sicurezza di un file esistente. |
Prodotto | Versioni |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback: