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 vérifier si un fichier existe et, en fonction du résultat, créer un nouveau fichier et y écrire, ou ouvrir le fichier existant et le lire. 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);
            }
        }
    }
}
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 courantes telles que la copie, le déplacement, le changement de nom, la création, l’ouverture, la suppression et l’ajout d’un seul fichier à 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 File membres spécifiques tels que OpenText , CreateText ou 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 FileInfo méthode d’instance correspondante si vous ne souhaitez exécuter qu’une seule action. Toutes les File méthodes requièrent le chemin d’accès au fichier que vous manipulez.

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

Par défaut, l’accès complet en lecture/écriture 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 qui est déjà en cours d’utilisation.
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 d’accès en tant que chaîne d’entrée, ce chemin d’accès doit être correctement formé ou une exception est levée. Par exemple, si un chemin d’accès est qualifié complet mais qu’il commence par un espace, le chemin d’accès n’est pas tronqué 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é complet deux fois. Par exemple, « c:\temp c:\Windows » lève également une exception dans la plupart des cas. Assurez-vous que vos chemins d’accès sont correctement formés lors de l’utilisation de méthodes acceptant une chaîne de chemin d’accès.

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 d’accès spécifié peut également faire référence à un chemin d’accès relatif ou à un chemin d’accès UNC (Universal Naming Convention) pour un nom de serveur et de partage. Par exemple, les chemins d’accès acceptables sont les suivants :

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

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

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

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

Pour obtenir la liste des tâches d’e/s courantes, consultez tâches d’e/s courantes.

Méthodes

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 remplace un fichier dans le chemin d'accès spécifié.

Create(String, Int32)

Crée ou remplace un fichier dans le chemin spécifié, en indiquant 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(String)

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

GetCreationTime(String)

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

GetCreationTimeUtc(String)

Retourne la date et l'heure de création au format UTC (Temps universel coordonné) du fichier ou du répertoire spécifié.

GetLastAccessTime(String)

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

GetLastAccessTimeUtc(String)

Retourne la date/heure au format UTC (Temps universel coordonné) du dernier accès au fichier ou au 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(String)

Retourne la date/heure au format UTC (Temps universel coordonné) de la dernière écriture dans le fichier ou le répertoire spécifié.

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 FileStream classe avec le chemin d’accès, le mode de création, l’autorisation de lecture/écriture et de partage spécifiés, l’accès que d’autres filestreams peuvent avoir au même fichier, la taille de la mémoire tampon, les options de fichiers supplémentaires et la taille d’allocation.

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

Initialise une nouvelle instance de la SafeFileHandle classe avec le chemin d’accès, le mode de création, l’autorisation de lecture/écriture et de partage spécifiés, l’accès que d’autres SafeFileHandles peuvent avoir au même fichier, des options de fichiers 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é.

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(String, FileAttributes)

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

SetCreationTime(String, DateTime)

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

SetCreationTimeUtc(String, DateTime)

Définit la date/heure au format UTC (Temps universel coordonné) de création du fichier.

SetLastAccessTime(String, DateTime)

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

SetLastAccessTimeUtc(String, DateTime)

Définit la date/heure au format UTC (Temps universel coordonné) du dernier accès au fichier spécifié.

SetLastWriteTime(String, DateTime)

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

SetLastWriteTimeUtc(String, DateTime)

Définit la date/heure au format UTC (Temps universel coordonné) de la dernière écriture dans le fichier 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 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 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 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 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 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 remplacé.

S’applique à

Voir aussi