File Classe

Définition

Fournit des méthodes statiques pour créer, copier, supprimer, déplacer et ouvrir un fichier unique, et facilite la création d'objets 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
Héritage
File
Attributs

Exemples

L’exemple suivant montre comment utiliser la File classe pour case activée si un fichier existe et, selon le résultat, créez un fichier et écrivez-y, ou ouvrez le fichier existant et lisez-le. Avant d’exécuter le code, créez un c:\temp dossier.

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

Remarques

Utilisez la File classe pour les opérations classiques telles que la copie, le déplacement, le renommage, la création, l’ouverture, la suppression et l’ajout à un fichier unique à la fois. Vous pouvez également utiliser la File classe pour obtenir et définir des attributs de fichier ou DateTime des informations relatives à la création, à l’accès et à l’écriture d’un fichier. Si vous souhaitez effectuer des opérations sur plusieurs fichiers, consultez Directory.GetFiles ou DirectoryInfo.GetFiles.

La plupart des File méthodes retournent d’autres types d’E/S lorsque vous créez ou ouvrez des fichiers. Vous pouvez utiliser ces autres types pour manipuler davantage un fichier. Pour plus d’informations, consultez des membres spécifiques File tels que OpenText, CreateTextou Create.

Étant donné que toutes les File méthodes sont statiques, il peut être plus efficace d’utiliser une File méthode plutôt qu’une méthode instance correspondante FileInfo si vous souhaitez effectuer une seule action. Toutes les File méthodes nécessitent le chemin d’accès au fichier que vous manipulez.

Les méthodes statiques de la File classe effectuent des vérifications de sécurité sur toutes les méthodes. Si vous envisagez de réutiliser un objet plusieurs fois, envisagez d’utiliser la méthode de instance correspondante de à la FileInfo place, car la sécurité case activée ne sera pas toujours nécessaire.

Par défaut, l’accès en lecture/écriture complet aux nouveaux fichiers est accordé à tous les utilisateurs.

Le tableau suivant décrit les énumérations utilisées pour personnaliser le comportement de différentes File méthodes.

Énumération Description
FileAccess Spécifie l’accès en lecture et en écriture à un fichier.
FileShare Spécifie le niveau d’accès autorisé pour un fichier déjà utilisé.
FileMode Spécifie si le contenu d’un fichier existant est conservé ou remplacé, et si les demandes de création d’un fichier existant provoquent une exception.

Notes

Dans les membres qui acceptent un chemin en tant que chaîne d’entrée, ce chemin doit être correctement formé ou une exception est levée. Par exemple, si un chemin d’accès est complet mais commence par un espace, le chemin n’est pas réduit dans les méthodes de la classe . Par conséquent, le chemin d’accès est incorrect et une exception est levée. De même, un chemin d’accès ou une combinaison de chemins d’accès ne peut pas être qualifié deux fois. Par exemple, « c :\temp c :\windows » déclenche également une exception dans la plupart des cas. Assurez-vous que vos chemins d’accès sont bien formés lorsque vous utilisez des méthodes qui acceptent une chaîne de chemin.

Dans les membres qui acceptent un chemin d’accès, le chemin d’accès peut faire référence à un fichier ou simplement à un répertoire. Le chemin spécifié peut également faire référence à un chemin relatif ou à un chemin d’accès UNC (Universal Naming Convention) pour un nom de serveur et de partage. Par exemple, tous les chemins d’accès suivants sont acceptables :

  • "c:\\\MyDir\\\MyFile.txt" en C# ou "c:\MyDir\MyFile.txt" en Visual Basic.

  • "c:\\\MyDir" en C# ou "c:\MyDir" en Visual Basic.

  • "MyDir\\\MySubdir" en C# ou "MyDir\MySubDir" en Visual Basic.

  • "\\\\\\\MyServer\\\MyShare" en C# ou "\\\MyServer\MyShare" en Visual Basic.

Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches courantes d’E/S.

Méthodes

AppendAllBytes(String, Byte[])

Fournit des méthodes statiques pour créer, copier, supprimer, déplacer et ouvrir un fichier unique, et facilite la création d'objets FileStream.

AppendAllBytesAsync(String, Byte[], CancellationToken)

Fournit des méthodes statiques pour créer, copier, supprimer, déplacer et ouvrir un fichier unique, et facilite la création d'objets FileStream.

AppendAllLines(String, IEnumerable<String>)

Ajoute des lignes à un fichier, puis ferme le fichier. Si le fichier spécifié n'existe pas, cette méthode crée un fichier, écrit les lignes spécifiées dans le fichier, puis ferme le fichier.

AppendAllLines(String, IEnumerable<String>, Encoding)

Ajoute des lignes à un fichier en utilisant un encodage spécifié, puis ferme le fichier. Si le fichier spécifié n'existe pas, cette méthode crée un fichier, écrit les lignes spécifiées dans le fichier, puis ferme le fichier.

AppendAllLinesAsync(String, IEnumerable<String>, CancellationToken)

Ajoute de façon asynchrone des lignes à un fichier, puis ferme le fichier. Si le fichier spécifié n'existe pas, cette méthode crée un fichier, écrit les lignes spécifiées dans le fichier, puis ferme le fichier.

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

Ajoute de façon asynchrone des lignes à un fichier en utilisant un encodage spécifié, puis ferme le fichier. Si le fichier spécifié n'existe pas, cette méthode crée un fichier, écrit les lignes spécifiées dans le fichier, puis ferme le fichier.

AppendAllText(String, String)

Ouvre un fichier, ajoute la chaîne spécifiée au fichier, puis ferme le fichier. Si le fichier n'existe pas, cette méthode crée un fichier, écrit la chaîne spécifiée dans le fichier, puis ferme le fichier.

AppendAllText(String, String, Encoding)

Ajoute la chaîne spécifiée au fichier en utilisant l’encodage spécifié, en créant le fichier s’il n’existe pas.

AppendAllTextAsync(String, String, CancellationToken)

Ouvre de façon asynchrone un fichier ou crée un fichier s’il n’existe pas déjà, ajoute la chaîne spécifiée au fichier, puis ferme le fichier.

AppendAllTextAsync(String, String, Encoding, CancellationToken)

Ouvre de façon asynchrone un fichier ou crée le fichier s’il n’existe pas déjà, ajoute la chaîne spécifiée au fichier en utilisant l’encodage spécifié, puis ferme le fichier.

AppendText(String)

Crée un élément StreamWriter qui ajoute du texte encodé en UTF-8 à un fichier existant ou à un nouveau fichier si le fichier spécifié n'existe pas.

Copy(String, String)

Copie un fichier existant vers un nouveau fichier. Le remplacement d'un fichier du même nom n'est pas autorisé.

Copy(String, String, Boolean)

Copie un fichier existant vers un nouveau fichier. Le remplacement d'un fichier du même nom est autorisé.

Create(String)

Crée ou tronque et remplace un fichier dans le chemin spécifié.

Create(String, Int32)

Crée ou tronque et remplace un fichier dans le chemin spécifié, en spécifiant une taille de mémoire tampon.

Create(String, Int32, FileOptions)

Crée ou remplace un fichier dans l’accès spécifié, en indiquant une taille de mémoire tampon et des options qui décrivent comment créer ou remplacer le fichier.

Create(String, Int32, FileOptions, FileSecurity)

Crée ou remplace un fichier dans le chemin spécifié, en indiquant une taille de mémoire tampon, des options qui décrivent comment créer ou remplacer le fichier, ainsi qu’une valeur qui détermine la sécurité du contrôle d’accès et d’audit pour le fichier.

CreateSymbolicLink(String, String)

Crée un lien symbolique de fichier identifié par path qui pointe vers pathToTarget.

CreateText(String)

Crée ou ouvre un fichier pour écrire du texte encodé en UTF-8. Si le fichier existe déjà, son contenu est remplacé.

Decrypt(String)

Déchiffre un fichier qui a été chiffré par le compte actuel à l'aide de la méthode Encrypt(String).

Delete(String)

Supprime le fichier spécifié.

Encrypt(String)

Chiffre un fichier de sorte que seul le compte utilisé pour chiffrer le fichier peut le déchiffrer.

Exists(String)

Détermine si le fichier spécifié existe.

GetAccessControl(String)

Obtient un objet FileSecurity qui encapsule les entrées ACL pour un fichier spécifié.

GetAccessControl(String, AccessControlSections)

Obtient un objet FileSecurity qui encapsule le type spécifié des entrées ACL pour un fichier particulier.

GetAttributes(SafeFileHandle)

Obtient le spécifié FileAttributes du fichier ou du répertoire associé fileHandleà .

GetAttributes(String)

Obtient l'élément FileAttributes du fichier sur le chemin d'accès.

GetCreationTime(SafeFileHandle)

Retourne l’heure de création du fichier ou du répertoire spécifié.

GetCreationTime(String)

Retourne la date/heure de création du fichier ou du répertoire spécifié.

GetCreationTimeUtc(SafeFileHandle)

Retourne la date et l’heure de création, en temps universel coordonné (UTC), du fichier ou du répertoire spécifié.

GetCreationTimeUtc(String)

Retourne la date et l’heure de création, en temps universel coordonné (UTC), du fichier ou du répertoire spécifié.

GetLastAccessTime(SafeFileHandle)

Retourne la date et l’heure du dernier accès du fichier ou répertoire spécifié.

GetLastAccessTime(String)

Retourne la date/heure du dernier accès au fichier ou au répertoire spécifié.

GetLastAccessTimeUtc(SafeFileHandle)

Retourne la date et l’heure du dernier accès, en temps universel coordonné (UTC), du fichier ou du répertoire spécifié.

GetLastAccessTimeUtc(String)

Retourne la date et l’heure, en temps universel coordonné (UTC), auxquelles le fichier ou répertoire spécifié a été accédé pour la dernière fois.

GetLastWriteTime(SafeFileHandle)

Retourne la date et l’heure de la dernière écriture du fichier ou répertoire spécifié.

GetLastWriteTime(String)

Retourne la date/heure du dernier accès en écriture au fichier ou au répertoire spécifié.

GetLastWriteTimeUtc(SafeFileHandle)

Retourne la date et l’heure de la dernière écriture, en temps universel coordonné (UTC), du fichier ou répertoire spécifié.

GetLastWriteTimeUtc(String)

Retourne la date et l’heure, en temps universel coordonné (UTC), dans laquelle le fichier ou répertoire spécifié a été écrit pour la dernière fois.

GetUnixFileMode(SafeFileHandle)

Obtient le UnixFileMode du handle de fichier spécifié.

GetUnixFileMode(String)

Obtient l'élément UnixFileMode du fichier sur le chemin d'accès.

Move(String, String)

Déplace un fichier spécifié à un nouvel emplacement, en permettant de spécifier un nouveau nom.

Move(String, String, Boolean)

Déplace un fichier spécifié vers un nouvel emplacement, en fournissant les options permettant de spécifier un nouveau nom de fichier et de remplacer le fichier de destination s’il existe déjà.

Open(String, FileMode)

Ouvre un FileStream sur le chemin spécifié avec un accès en lecture/écriture sans partage.

Open(String, FileMode, FileAccess)

Ouvre un FileStream sur le chemin spécifié, avec le mode et l’accès spécifiés sans partage.

Open(String, FileMode, FileAccess, FileShare)

Ouvre un élément FileStream sur le chemin d’accès spécifié, dans le mode spécifié avec accès en lecture, en écriture ou en lecture/écriture, et l’option de partage spécifiée.

Open(String, FileStreamOptions)

Initialise une nouvelle instance de la classe avec le FileStream chemin d’accès spécifié, le mode de création, l’autorisation de lecture/écriture et de partage, l’accès d’autres FileStreams au même fichier, la taille de la mémoire tampon, les options de fichier supplémentaires et la taille d’allocation.

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

Initialise une nouvelle instance de la classe avec le SafeFileHandle chemin d’accès spécifié, le mode de création, l’autorisation de lecture/écriture et de partage, l’accès d’autres SafeFileHandles au même fichier, des options de fichier supplémentaires et la taille d’allocation.

OpenRead(String)

Ouvre un fichier existant pour y accéder en lecture.

OpenText(String)

Ouvre un fichier texte encodé en UTF-8 existant pour lecture.

OpenWrite(String)

Ouvre un fichier existant ou crée un nouveau fichier pour écriture.

ReadAllBytes(String)

Ouvre un fichier binaire, lit le contenu du fichier dans un tableau d'octets, puis ferme le fichier.

ReadAllBytesAsync(String, CancellationToken)

Ouvre de façon asynchrone un fichier binaire, lit le contenu du fichier dans un tableau d’octets, puis ferme le fichier.

ReadAllLines(String)

Ouvre un fichier texte, lit toutes les lignes du fichier, puis ferme le fichier.

ReadAllLines(String, Encoding)

Ouvre un fichier, lit toutes les lignes du fichier avec l'encodage spécifié, puis ferme le fichier.

ReadAllLinesAsync(String, CancellationToken)

Ouvre un fichier texte de façon asynchrone, lit toutes les lignes du fichier, puis ferme le fichier.

ReadAllLinesAsync(String, Encoding, CancellationToken)

Ouvre un fichier texte de façon asynchrone, lit toutes les lignes du fichier avec l’encodage spécifié, puis ferme le fichier.

ReadAllText(String)

Ouvre un fichier texte, lit tout le texte du fichier, puis ferme le fichier.

ReadAllText(String, Encoding)

Ouvre un fichier, lit la totalité du texte du fichier avec l’encodage spécifié, puis ferme le fichier.

ReadAllTextAsync(String, CancellationToken)

Ouvre un fichier texte de façon asynchrone, lit tout le texte du fichier, puis ferme le fichier.

ReadAllTextAsync(String, Encoding, CancellationToken)

Ouvre un fichier texte de façon asynchrone, lit tout le texte du fichier avec l’encodage spécifié, puis ferme le fichier.

ReadLines(String)

Lit les lignes d'un fichier.

ReadLines(String, Encoding)

Lit les lignes d'un fichier qui a un encodage spécifié.

ReadLinesAsync(String, CancellationToken)

Lit de manière asynchrone les lignes d’un fichier.

ReadLinesAsync(String, Encoding, CancellationToken)

Lit de manière asynchrone les lignes d’un fichier qui a un encodage spécifié.

Replace(String, String, String)

Remplace le contenu d'un fichier spécifié par le contenu d'un autre fichier, en supprimant le fichier d'origine et en créant une sauvegarde du fichier remplacé.

Replace(String, String, String, Boolean)

Remplace le contenu d'un fichier spécifié par le contenu d'un autre fichier, en supprimant le fichier d'origine, en créant une sauvegarde du fichier remplacé et en ignorant éventuellement les erreurs de fusion.

ResolveLinkTarget(String, Boolean)

Obtient la cible du lien de fichier spécifié.

SetAccessControl(String, FileSecurity)

Applique les entrées de liste de contrôle d'accès (ACL) décrites par un objet FileSecurity au répertoire spécifié.

SetAttributes(SafeFileHandle, FileAttributes)

Définit le spécifié FileAttributes du fichier ou du répertoire associé fileHandleà .

SetAttributes(String, FileAttributes)

Définit l'élément FileAttributes spécifié du fichier sur le chemin d'accès spécifié.

SetCreationTime(SafeFileHandle, DateTime)

Définit la date et l’heure de création du fichier ou du répertoire.

SetCreationTime(String, DateTime)

Définit la date/heure de création du fichier.

SetCreationTimeUtc(SafeFileHandle, DateTime)

Définit la date et l’heure, en temps universel coordonné (UTC), auxquelles le fichier ou le répertoire a été créé.

SetCreationTimeUtc(String, DateTime)

Définit la date et l’heure, en temps universel coordonné (UTC), auxquelles le fichier a été créé.

SetLastAccessTime(SafeFileHandle, DateTime)

Définit la date/heure du dernier accès au fichier ou au répertoire spécifié.

SetLastAccessTime(String, DateTime)

Définit la date et l'heure du dernier accès au fichier spécifié.

SetLastAccessTimeUtc(SafeFileHandle, DateTime)

Définit la date et l’heure, en temps universel coordonné (UTC), auxquelles le fichier ou répertoire spécifié a été accédé pour la dernière fois.

SetLastAccessTimeUtc(String, DateTime)

Définit la date et l’heure, en temps universel coordonné (UTC), auxquelles le fichier spécifié a été consulté pour la dernière fois.

SetLastWriteTime(SafeFileHandle, DateTime)

Définit la date et l’heure auxquelles le fichier ou répertoire spécifié a été écrit pour la dernière fois.

SetLastWriteTime(String, DateTime)

Définit la date/heure du dernier accès en écriture au fichier spécifié.

SetLastWriteTimeUtc(SafeFileHandle, DateTime)

Définit la date et l’heure, en temps universel coordonné (UTC), dans laquelle le fichier ou répertoire spécifié a été écrit pour la dernière fois.

SetLastWriteTimeUtc(String, DateTime)

Définit la date et l’heure, en temps universel coordonné (UTC), dans laquelle le fichier spécifié a été écrit pour la dernière fois.

SetUnixFileMode(SafeFileHandle, UnixFileMode)

Définit le spécifié UnixFileMode du handle de fichier spécifié.

SetUnixFileMode(String, UnixFileMode)

Définit l'élément UnixFileMode spécifié du fichier sur le chemin d'accès spécifié.

WriteAllBytes(String, Byte[])

Crée un nouveau fichier, écrit le tableau d'octets spécifié dans le fichier, puis ferme le fichier. Si le fichier cible existe déjà, il est tronqué et remplacé.

WriteAllBytesAsync(String, Byte[], CancellationToken)

Crée un fichier de façon asynchrone, écrit le tableau d’octets spécifié dans le fichier, puis ferme le fichier. Si le fichier cible existe déjà, il est tronqué et remplacé.

WriteAllLines(String, IEnumerable<String>)

Crée un fichier, écrit une collection de chaînes dans le fichier, puis ferme le fichier.

WriteAllLines(String, IEnumerable<String>, Encoding)

Crée un fichier en utilisant l'encodage spécifié, écrit une collection de chaînes dans le fichier, puis ferme le fichier.

WriteAllLines(String, String[])

Crée un nouveau fichier, écrit le tableau de chaînes spécifié dans le fichier, puis ferme le fichier.

WriteAllLines(String, String[], Encoding)

Crée un fichier, écrit le tableau de chaînes spécifié dans le fichier en utilisant l'encodage spécifié, puis ferme le fichier.

WriteAllLinesAsync(String, IEnumerable<String>, CancellationToken)

Crée un fichier de façon asynchrone, écrit les lignes spécifiées dans le fichier, puis ferme le fichier.

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

Crée un fichier de façon asynchrone, écrit les lignes spécifiées dans le fichier en utilisant l’encodage spécifié, puis ferme le fichier.

WriteAllText(String, String)

Crée un nouveau fichier, écrit la chaîne spécifiée dans le fichier, puis ferme le fichier. Si le fichier cible existe déjà, il est tronqué et remplacé.

WriteAllText(String, String, Encoding)

Crée un nouveau fichier, écrit la chaîne spécifiée dans le fichier en utilisant l'encodage spécifié, puis ferme le fichier. Si le fichier cible existe déjà, il est tronqué et remplacé.

WriteAllTextAsync(String, String, CancellationToken)

Crée un fichier de façon asynchrone, écrit la chaîne spécifiée dans le fichier, puis ferme le fichier. Si le fichier cible existe déjà, il est tronqué et remplacé.

WriteAllTextAsync(String, String, Encoding, CancellationToken)

Crée un fichier de façon asynchrone, écrit la chaîne spécifiée dans le fichier en utilisant l’encodage spécifié, puis ferme le fichier. Si le fichier cible existe déjà, il est tronqué et remplacé.

S’applique à

Voir aussi