FileInfo Classe

Définition

Fournit des propriétés et des méthodes d'instance pour créer, copier, supprimer, déplacer et ouvrir des fichiers, et facilite la création d'objets FileStream. Cette classe ne peut pas être héritée.

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
Héritage
Héritage
Attributs

Exemples

L’exemple suivant illustre certains des main membres de la FileInfo classe .

Lorsque les propriétés sont récupérées pour la première fois, FileInfo appelle la Refresh méthode et met en cache les informations sur le fichier. Lors des appels suivants, vous devez appeler Refresh pour obtenir la dernière copie des informations.

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

Cet exemple produit une sortie similaire à ce qui suit.

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.

Remarques

Utilisez la FileInfo 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 de fichiers.

Si vous effectuez plusieurs opérations sur le même fichier, il peut être plus efficace d’utiliser FileInfo instance méthodes plutôt que les méthodes statiques correspondantes de la File classe, car une case activée de sécurité ne sera pas toujours nécessaire.

La plupart des FileInfo 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 FileInfo tels que Open, OpenRead, OpenText, CreateTextou Create.

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 FileInfo 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.

La FileInfo classe fournit les propriétés suivantes qui vous permettent de récupérer des informations sur un fichier. Pour obtenir un exemple d’utilisation de chaque propriété, consultez les pages de propriétés.

  • La Directory propriété récupère un objet qui représente le répertoire parent d’un fichier.

  • La DirectoryName propriété récupère le chemin d’accès complet du répertoire parent d’un fichier.

  • La Exists propriété vérifie la présence d’un fichier avant de l’utiliser.

  • La IsReadOnly propriété récupère ou définit une valeur qui spécifie si un fichier peut être modifié.

  • récupère Length la taille d’un fichier.

  • récupère Name le nom d’un fichier.

Constructeurs

FileInfo(String)

Initialise une nouvelle instance de la classe FileInfo, qui sert de wrapper pour un chemin d'accès de fichier.

Champs

FullPath

Représente le chemin d'accès qualifié complet du répertoire ou fichier.

(Hérité de FileSystemInfo)
OriginalPath

Chemin d’accès initialement spécifié par l’utilisateur, relatif ou absolu.

(Hérité de FileSystemInfo)

Propriétés

Attributes

Obtient ou définit les attributs pour le fichier ou le répertoire actif.

(Hérité de FileSystemInfo)
CreationTime

Obtient ou définit l'heure de création du fichier ou du répertoire actif.

(Hérité de FileSystemInfo)
CreationTimeUtc

Obtient ou définit l'heure de création, au format de temps universel (UTC, Coordinated Universal Time), du fichier ou du répertoire actif.

(Hérité de FileSystemInfo)
Directory

Obtient une instance du répertoire parent.

DirectoryName

Obtient une chaîne représentant le chemin d’accès complet du répertoire.

Exists

Obtient une valeur indiquant si un fichier existe.

Extension

Obtient la partie extension du nom de fichier, y compris le point . de début même s’il s’agit du nom de fichier entier, ou une chaîne vide si aucune extension n’est présente.

(Hérité de FileSystemInfo)
FullName

Obtient le chemin d'accès complet du répertoire ou fichier.

(Hérité de FileSystemInfo)
IsReadOnly

Obtient ou définit une valeur qui détermine si le fichier actuel est en lecture seule.

LastAccessTime

Obtient ou définit l'heure du dernier accès au fichier ou répertoire actif.

(Hérité de FileSystemInfo)
LastAccessTimeUtc

Obtient ou définit l'heure, au format de temps universel (UTC, Universal Coordinated Time), du dernier accès au fichier ou au répertoire actif.

(Hérité de FileSystemInfo)
LastWriteTime

Obtient ou définit l'heure de la dernière écriture dans le fichier ou répertoire actif.

(Hérité de FileSystemInfo)
LastWriteTimeUtc

Obtient ou définit l'heure, au format de temps universel (UTC, Universal Coordinated Time), de la dernière écriture dans le fichier ou le répertoire actif.

(Hérité de FileSystemInfo)
Length

Obtient la taille en octets du fichier actuel.

LinkTarget

Obtient le chemin cible du lien situé dans FullName, ou null si ce FileSystemInfo instance ne représente pas de lien.

(Hérité de FileSystemInfo)
Name

Obtient le nom du fichier.

UnixFileMode

Obtient ou définit le mode de fichier Unix pour le fichier ou répertoire actif.

(Hérité de FileSystemInfo)

Méthodes

AppendText()

Crée un élément StreamWriter qui ajoute du texte au fichier représenté par cette instance de FileInfo.

CopyTo(String)

Copie un fichier existant vers un nouveau fichier, en interdisant le remplacement d'un fichier existant.

CopyTo(String, Boolean)

Copie un fichier existant vers un nouveau fichier, en autorisant le remplacement d'un fichier existant.

Create()

Crée un fichier.

CreateAsSymbolicLink(String)

Crée un lien symbolique situé dans FullName qui pointe vers le spécifié pathToTarget.

(Hérité de FileSystemInfo)
CreateObjRef(Type)

Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant.

(Hérité de MarshalByRefObject)
CreateText()

Crée un élément StreamWriter qui écrit un nouveau fichier texte.

Decrypt()

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

Delete()

Supprime définitivement un fichier.

Encrypt()

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

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetAccessControl()

Obtient un objet FileSecurity qui encapsule les entrées de la liste de contrôle d'accès (ACL) pour le fichier décrit par l'objet FileInfo actuel.

GetAccessControl(AccessControlSections)

Obtient un objet FileSecurity qui encapsule le type spécifié des entrées de la liste de contrôle d'accès (ACL) pour le répertoire décrit par l'objet FileInfo actuel.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetLifetimeService()
Obsolète.

Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)
Obsolète.

Définit l'objet SerializationInfo à l'aide du nom de fichier et d'autres informations se rapportant à l'exception.

(Hérité de FileSystemInfo)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
InitializeLifetimeService()
Obsolète.

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.

(Hérité de MarshalByRefObject)
MoveTo(String)

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

MoveTo(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(FileMode)

Ouvre un fichier dans le mode spécifié.

Open(FileMode, FileAccess)

Ouvre un fichier dans le mode spécifié, avec accès en lecture, en écriture ou en lecture/écriture.

Open(FileMode, FileAccess, FileShare)

Ouvre un fichier 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(FileStreamOptions)

Initialise une nouvelle instance de la classe avec le FileStream mode de création, l’autorisation de lecture/écriture et de partage spécifiée, 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.

OpenRead()

Crée un élément FileStream en lecture seule.

OpenText()

Crée un élément StreamReader avec encodage UTF-8 qui lit un fichier texte existant.

OpenWrite()

Crée un élément FileStream en écriture seule.

Refresh()

Actualise l'état de l'objet.

(Hérité de FileSystemInfo)
Replace(String, String)

Remplace le contenu d'un fichier spécifié par le fichier décrit par l'objet FileInfo actuel, en supprimant le fichier d'origine et en créant une sauvegarde du fichier remplacé.

Replace(String, String, Boolean)

Remplace le contenu d'un fichier spécifié par le fichier décrit par l'objet FileInfo actuel, en supprimant le fichier d'origine et en créant une sauvegarde du fichier remplacé. Spécifie également s'il faut ignorer les erreurs de fusion.

ResolveLinkTarget(Boolean)

Obtient la cible du lien spécifié.

(Hérité de FileSystemInfo)
SetAccessControl(FileSecurity)

Applique les entrées ACL décrites par un objet FileSecurity au fichier décrit par l'objet FileInfo actuel.

ToString()

Retourne le chemin d’accès d’origine passé au constructeur FileInfo. Utilisez la FullName propriété ou Name pour le chemin d’accès complet ou le nom de fichier.

ToString()

Retourne le chemin d’origine. Utilisez les propriétés FullName ou Name pour le chemin complet ou le nom de fichier/répertoire.

(Hérité de FileSystemInfo)

Méthodes d’extension

Create(FileInfo, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity)

Crée un flux de fichier en veillant à ce qu’il soit créé avec les propriétés et les paramètres de sécurité spécifiés.

GetAccessControl(FileInfo)

Retourne les informations de sécurité d’un fichier.

GetAccessControl(FileInfo, AccessControlSections)

Retourne les informations de sécurité d’un fichier.

SetAccessControl(FileInfo, FileSecurity)

Change les attributs de sécurité d’un fichier existant.

S’applique à

Voir aussi