File Classe

Definizione

Fornisce i metodi statici per creare, copiare, eliminare, spostare e aprire un singolo file, nonché supportare la creazione di oggetti FileStream.

public ref class File abstract sealed
public ref class File sealed
public static class File
public sealed class File
[System.Runtime.InteropServices.ComVisible(true)]
public static class File
type File = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type File = class
Public Class File
Public NotInheritable Class File
Ereditarietà
File
Attributi

Esempio

Nell'esempio seguente viene illustrato come usare la File classe per verificare se esiste un file e a seconda del risultato, creare un nuovo file e scriverlo oppure aprire il file esistente e leggerlo. Prima di eseguire il codice, creare una c:\temp cartella.

using namespace System;
using namespace System::IO;
int main()
{
   String^ path = "c:\\temp\\MyTest.txt";
   if (  !File::Exists( path ) )
   {
      
      // Create a file to write to.
      StreamWriter^ sw = File::CreateText( path );
      try
      {
         sw->WriteLine( "Hello" );
         sw->WriteLine( "And" );
         sw->WriteLine( "Welcome" );
      }
      finally
      {
         if ( sw )
                  delete (IDisposable^)(sw);
      }
   }

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

   try
   {
      String^ path2 = String::Concat( path, "temp" );
      
      // Ensure that the target does not exist.
      File::Delete( path2 );
      
      // Copy the file.
      File::Copy( path, path2 );
      Console::WriteLine( "{0} was copied to {1}.", path, path2 );
      
      // Delete the newly created file.
      File::Delete( path2 );
      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 = @"c:\temp\MyTest.txt";
        if (!File.Exists(path))
        {
            // Create a file to write to.
            using (StreamWriter sw = File.CreateText(path))
            {
                sw.WriteLine("Hello");
                sw.WriteLine("And");
                sw.WriteLine("Welcome");
            }
        }

        // Open the file to read from.
        using (StreamReader sr = File.OpenText(path))
        {
            string s;
            while ((s = sr.ReadLine()) != null)
            {
                Console.WriteLine(s);
            }
        }
    }
}
open System.IO

let path = @"c:\temp\MyTest.txt"

if File.Exists path |> not then
    // Create a file to write to.
    use sw = File.CreateText path
    sw.WriteLine "Hello"
    sw.WriteLine "And"
    sw.WriteLine "Welcome"

// Open the file to read from.
do
    use sr = File.OpenText path
    let mutable s = sr.ReadLine()

    while isNull s |> not do
        printfn $"{s}"
        s <- sr.ReadLine()
Imports System.IO

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"
        If File.Exists(path) = False Then
            ' Create a file to write to.
            Using sw As StreamWriter = File.CreateText(path)
                sw.WriteLine("Hello")
                sw.WriteLine("And")
                sw.WriteLine("Welcome")
           End Using
        End If

        ' Open the file to read from.
        Using sr As StreamReader = File.OpenText(path)
            Do While sr.Peek() >= 0
                Console.WriteLine(sr.ReadLine())
            Loop
        End Using
    End Sub
End Class

Commenti

Utilizzare la classe File per le operazioni tipiche, quali copia, spostamento, ridenominazione, creazione, apertura, eliminazione e aggiunta a un singolo file alla volta. È anche possibile usare la classe per ottenere e impostare attributi di file o DateTime informazioni correlate alla creazione, all'accesso File e alla scrittura di un file. Se si desidera eseguire operazioni su più file, vedere Directory.GetFiles o DirectoryInfo.GetFiles.

Molti dei metodi restituiscono altri tipi di File 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 File , ad OpenTextesempio , CreateTexto Create.

Poiché tutti i File metodi sono statici, potrebbe essere più efficiente usare un metodo anziché un File metodo di istanza corrispondente FileInfo se si vuole eseguire una sola azione. Tutti i File metodi richiedono il percorso del file che si sta modificando.

I metodi statici della classe eseguono controlli di File sicurezza su tutti i metodi. Se si intende riutilizzare un oggetto più volte, prendere in considerazione l'uso del metodo di istanza corrispondente di FileInfo , perché il controllo di sicurezza non sarà sempre necessario.

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 usate per personalizzare il comportamento di vari File 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 conservato o sovrascritto e se le richieste per creare un file esistente causano un'eccezione.

Nota

Nei membri che accettano un percorso come stringa di input, tale percorso deve essere formato correttamente 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 è 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.

Per un elenco di attività di I/O comuni, vedere Attività di I/O comuni.

Metodi

AppendAllBytes(String, Byte[])

Fornisce i metodi statici per creare, copiare, eliminare, spostare e aprire un singolo file, nonché supportare la creazione di oggetti FileStream.

AppendAllBytesAsync(String, Byte[], CancellationToken)

Fornisce i metodi statici per creare, copiare, eliminare, spostare e aprire un singolo file, nonché supportare la creazione di oggetti FileStream.

AppendAllLines(String, IEnumerable<String>)

Aggiunge righe a un file e quindi lo chiude. Se il file specificato non esiste, questo metodo ne crea uno, scrive la riga specificata e quindi lo chiude.

AppendAllLines(String, IEnumerable<String>, Encoding)

Aggiunge righe a un file, usando una codifica specificata e quindi lo chiude. Se il file specificato non esiste, questo metodo ne crea uno, scrive la riga specificata e quindi lo chiude.

AppendAllLinesAsync(String, IEnumerable<String>, CancellationToken)

Aggiunge righe in modo asincrono a un file e quindi lo chiude. Se il file specificato non esiste, questo metodo ne crea uno, scrive la riga specificata e quindi lo chiude.

AppendAllLinesAsync(String, IEnumerable<String>, Encoding, CancellationToken)

Aggiunge righe a un file in modo asincrono, usando una codifica specificata e quindi lo chiude. Se il file specificato non esiste, questo metodo ne crea uno, scrive la riga specificata e quindi lo chiude.

AppendAllText(String, String)

Apre un file, aggiunge la stringa specificata e quindi lo chiude. Se il file non esiste, questo metodo ne crea uno, scrive la stringa specificata e quindi lo chiude.

AppendAllText(String, String, Encoding)

Aggiunge la stringa specificata al file con la codifica specificata, creando il file nel caso in cui non esista.

AppendAllTextAsync(String, String, CancellationToken)

Apre in modo asincrono un file o crea un file, se non esiste già, aggiunge la stringa specificata al file e quindi lo chiude.

AppendAllTextAsync(String, String, Encoding, CancellationToken)

Apre in modo asincrono un file o crea un file, se non esiste già, aggiunge la stringa specificata al file con la codifica specificata e quindi lo chiude.

AppendText(String)

Crea un oggetto StreamWriter che aggiunge testo con codifica UTF-8 a un file esistente o a un nuovo file se quello specificato non esiste.

Copy(String, String)

Copia un file esistente in un nuovo file. Non è consentito sovrascrivere un file con lo stesso nome.

Copy(String, String, Boolean)

Copia un file esistente in un nuovo file. È consentito sovrascrivere un file con lo stesso nome.

Create(String)

Crea o tronca e sovrascrive un file nel percorso specificato.

Create(String, Int32)

Crea o tronca e sovrascrive un file nel percorso specificato, specificando una dimensione del buffer.

Create(String, Int32, FileOptions)

Crea o sovrascrive un file nel percorso specificato, specificando le dimensioni del buffer e opzioni che descrivono come creare o sovrascrivere il file.

Create(String, Int32, FileOptions, FileSecurity)

Crea o sovrascrive un file nel percorso specificato, specificando le dimensioni del buffer, le opzioni che descrivono come creare o sovrascrivere il file e un valore che determina il controllo di accesso e la sicurezza di controllo per il file.

CreateSymbolicLink(String, String)

Crea un collegamento simbolico di file identificato da path che punta a pathToTarget.

CreateText(String)

Crea o apre un file per la scrittura di testo con codifica UTF-8. Se il file esiste già, il relativo contenuto viene sostituito.

Decrypt(String)

Decrittografa un file crittografato dall'account corrente usando il metodo Encrypt(String).

Delete(String)

Elimina il file specificato.

Encrypt(String)

Crittografa un file in modo che possa essere decrittografato solamente dall'account che lo ha crittografato.

Exists(String)

Determina se il file specificato esiste.

GetAccessControl(String)

Ottiene un oggetto FileSecurity che incapsula le voci dell'elenco di controllo di accesso (ACL) di un file specificato.

GetAccessControl(String, AccessControlSections)

Ottiene un oggetto FileSecurity che incapsula il tipo specificato di voci dell'elenco di controllo di accesso (ACL) per un file specificato.

GetAttributes(SafeFileHandle)

Ottiene l'oggetto specificato FileAttributes del file o della directory associata a fileHandle.

GetAttributes(String)

Ottiene l'oggetto FileAttributes del file nel percorso.

GetCreationTime(SafeFileHandle)

Restituisce l'ora di creazione del file o della directory specificata.

GetCreationTime(String)

Restituisce la data e l'ora di creazione del file o della directory specificata.

GetCreationTimeUtc(SafeFileHandle)

Restituisce la data e l'ora di creazione, in utc (Coordinated Universal Time) del file o della directory specificata.

GetCreationTimeUtc(String)

Restituisce la data e l'ora di creazione, in utc (Coordinated Universal Time) del file o della directory specificata.

GetLastAccessTime(SafeFileHandle)

Restituisce la data e l'ora dell'ultimo accesso del file o della directory specificata.

GetLastAccessTime(String)

Restituisce la data e l'ora dell'ultimo accesso al file o alla directory specificata.

GetLastAccessTimeUtc(SafeFileHandle)

Restituisce la data e l'ora dell'ultimo accesso, in utc (Coordinated Universal Time) del file o della directory specificata.

GetLastAccessTimeUtc(String)

Restituisce la data e l'ora, nell'ora UTC (Coordinated Universal Time), a cui è stato eseguito l'ultimo accesso al file o alla directory specificata.

GetLastWriteTime(SafeFileHandle)

Restituisce la data e l'ora dell'ultima scrittura del file o della directory specificata.

GetLastWriteTime(String)

Restituisce la data e l'ora dell'ultima scrittura nel file o nella directory specificata.

GetLastWriteTimeUtc(SafeFileHandle)

Restituisce la data e l'ora dell'ultima scrittura, in utc (Coordinated Universal Time) del file o della directory specificata.

GetLastWriteTimeUtc(String)

Restituisce la data e l'ora, nell'ora UTC (Coordinated Universal Time), in cui è stato scritto il file o la directory specificata.

GetUnixFileMode(SafeFileHandle)

Ottiene l'oggetto dell'handle UnixFileMode di file specificato.

GetUnixFileMode(String)

Ottiene l'oggetto UnixFileMode del file nel percorso.

Move(String, String)

Sposta il file specificato in un nuovo percorso, consentendo di specificare per esso un nuovo nome.

Move(String, String, Boolean)

Sposta un file specificato in un nuovo percorso, fornendo le opzioni per specificare un nuovo nome di file e sostituire il file di destinazione, se già esistente.

Open(String, FileMode)

Apre un oggetto FileStream nel percorso specificato con accesso in lettura/scrittura e senza condivisione.

Open(String, FileMode, FileAccess)

Apre un oggetto FileStream nel percorso specificato, con la modalità e l'accesso indicati e senza condivisione.

Open(String, FileMode, FileAccess, FileShare)

Apre un oggetto FileStream nel percorso specificato, con la modalità indicata con accesso in lettura, scrittura o lettura/scrittura e l'opzione di condivisione indicata.

Open(String, FileStreamOptions)

Inizializza una nuova istanza della FileStream classe con il percorso, la modalità di creazione, 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.

OpenHandle(String, FileMode, FileAccess, FileShare, FileOptions, Int64)

Inizializza una nuova istanza della SafeFileHandle classe con il percorso, la modalità di creazione, l'autorizzazione di lettura/scrittura e condivisione, l'accesso ad altri SafeFileHandles può avere sullo stesso file, opzioni di file aggiuntive e dimensioni di allocazione.

OpenRead(String)

Apre un file esistente per la lettura.

OpenText(String)

Apre un file di testo esistente con codifica UTF-8 per la lettura.

OpenWrite(String)

Apre un file esistente o crea un nuovo file per la scrittura.

ReadAllBytes(String)

Apre un file binario, ne legge il contenuto in una matrice di byte e lo chiude.

ReadAllBytesAsync(String, CancellationToken)

Apre un file binario in modo asincrono, ne legge il contenuto in una matrice di byte e quindi lo chiude.

ReadAllLines(String)

Apre un file di testo, ne legge tutte le righe e quindi lo chiude.

ReadAllLines(String, Encoding)

Apre un file, ne legge tutte le righe con la codifica specificata e quindi lo chiude.

ReadAllLinesAsync(String, CancellationToken)

Apre un file di testo in modo asincrono, ne legge tutte le righe e quindi lo chiude.

ReadAllLinesAsync(String, Encoding, CancellationToken)

Apre un file di testo in modo asincrono, ne legge tutte le righe con la codifica specificata e quindi lo chiude.

ReadAllText(String)

Apre un file di testo, legge tutto il testo del file e quindi lo chiude.

ReadAllText(String, Encoding)

Apre un file, ne legge tutto il testo le righe con la codifica specificata e quindi lo chiude.

ReadAllTextAsync(String, CancellationToken)

Apre un file di testo in modo asincrono, legge tutto il testo nel file e quindi lo chiude.

ReadAllTextAsync(String, Encoding, CancellationToken)

Apre un file di testo in modo asincrono, ne legge tutto il testo con la codifica specificata e quindi lo chiude.

ReadLines(String)

Legge le righe di un file.

ReadLines(String, Encoding)

Legge le righe di un file con una codifica specificata.

ReadLinesAsync(String, CancellationToken)

Legge in modo asincrono le righe di un file.

ReadLinesAsync(String, Encoding, CancellationToken)

Legge in modo asincrono le righe di un file con una codifica specificata.

Replace(String, String, String)

Sostituisce il contenuto di un file specificato con il contenuto di un altro file, eliminando il file originale e creando una copia di backup del file sostituito.

Replace(String, String, String, Boolean)

Sostituisce il contenuto di un file specificato con il contenuto di un altro file, eliminando il file originale, creando una copia di backup del file sostituito ed eventualmente ignorando gli errori di merge.

ResolveLinkTarget(String, Boolean)

Ottiene la destinazione del collegamento al file specificato.

SetAccessControl(String, FileSecurity)

Applica le voci dell'elenco di controllo di accesso (ACL) descritte da un oggetto FileSecurity nel file specificato.

SetAttributes(SafeFileHandle, FileAttributes)

Imposta l'oggetto specificato FileAttributes del file o della directory associata a fileHandle.

SetAttributes(String, FileAttributes)

Imposta l'enumerazione FileAttributes del file nel percorso specificato.

SetCreationTime(SafeFileHandle, DateTime)

Imposta la data e l'ora di creazione del file o della directory.

SetCreationTime(String, DateTime)

Imposta la data e l'ora di creazione del file.

SetCreationTimeUtc(SafeFileHandle, DateTime)

Imposta la data e l'ora, nell'ora UTC (Coordinated Universal Time) creata dal file o dalla directory.

SetCreationTimeUtc(String, DateTime)

Imposta la data e l'ora, in Utc (Coordinated Universal Time), che il file è stato creato.

SetLastAccessTime(SafeFileHandle, DateTime)

Imposta la data e l'ora dell'ultimo accesso al file o alla directory specificata.

SetLastAccessTime(String, DateTime)

Imposta la data e l'ora dell'ultimo accesso al file specificato.

SetLastAccessTimeUtc(SafeFileHandle, DateTime)

Imposta la data e l'ora, nell'ora UTC (Coordinated Universal Time), a cui è stato eseguito l'ultimo accesso al file o alla directory specificata.

SetLastAccessTimeUtc(String, DateTime)

Imposta la data e l'ora, nell'ora UTC (Coordinated Universal Time), a cui è stato eseguito l'ultimo accesso al file specificato.

SetLastWriteTime(SafeFileHandle, DateTime)

Imposta la data e l'ora dell'ultima scrittura del file o della directory specificata.

SetLastWriteTime(String, DateTime)

Imposta la data e l'ora dell'ultima scrittura nel file specificato.

SetLastWriteTimeUtc(SafeFileHandle, DateTime)

Imposta la data e l'ora, nell'ora UTC (Coordinated Universal Time), su cui è stato scritto il file o la directory specificata.

SetLastWriteTimeUtc(String, DateTime)

Imposta la data e l'ora in Coordinated Universal Time (UTC) su cui è stato scritto il file specificato.

SetUnixFileMode(SafeFileHandle, UnixFileMode)

Imposta l'oggetto specificato UnixFileMode dell'handle di file specificato.

SetUnixFileMode(String, UnixFileMode)

Imposta l'enumerazione UnixFileMode del file nel percorso specificato.

WriteAllBytes(String, Byte[])

Crea un nuovo file, scrive la matrice di byte specificata e quindi lo chiude. Se il file di destinazione esiste già, viene troncato e sovrascritto.

WriteAllBytesAsync(String, Byte[], CancellationToken)

Crea un nuovo file in modo asincrono, scrive la matrice di byte specificata e quindi lo chiude. Se il file di destinazione esiste già, viene troncato e sovrascritto.

WriteAllLines(String, IEnumerable<String>)

Crea un nuovo file, vi scrive una raccolta di stringhe e quindi lo chiude.

WriteAllLines(String, IEnumerable<String>, Encoding)

Crea un nuovo file usando la codifica specificata, vi scrive una raccolta di stringhe e quindi lo chiude.

WriteAllLines(String, String[])

Crea un nuovo file, scrive la matrice di stringhe specificata e quindi lo chiude.

WriteAllLines(String, String[], Encoding)

Crea un nuovo file, vi scrive la matrice di stringhe specificata usando la codifica specificata e quindi lo chiude.

WriteAllLinesAsync(String, IEnumerable<String>, CancellationToken)

Crea un nuovo file in modo asincrono, scrive le righe specificate nel file e quindi lo chiude.

WriteAllLinesAsync(String, IEnumerable<String>, Encoding, CancellationToken)

Crea un nuovo file in modo asincrono, vi scrive le righe specificate usando la codifica specificata e quindi lo chiude.

WriteAllText(String, String)

Crea un nuovo file, scrive la stringa specificata e quindi lo chiude. Se il file di destinazione esiste già, viene troncato e sovrascritto.

WriteAllText(String, String, Encoding)

Crea un nuovo file, scrive la stringa specificata usando la codifica specificata e quindi lo chiude. Se il file di destinazione esiste già, viene troncato e sovrascritto.

WriteAllTextAsync(String, String, CancellationToken)

Crea un nuovo file in modo asincrono, vi scrive la stringa specificata e quindi lo chiude. Se il file di destinazione esiste già, viene troncato e sovrascritto.

WriteAllTextAsync(String, String, Encoding, CancellationToken)

Crea un nuovo file in modo asincrono, vi scrive la stringa specificata usando la codifica specificata e quindi lo chiude. Se il file di destinazione esiste già, viene troncato e sovrascritto.

Si applica a

Vedi anche