Partager via


FileInfo Classe

Définition

Fournit des propriétés et des méthodes d’instance pour la création, la copie, la suppression, le déplacement et l’ouverture de 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 principaux membres de la classe FileInfo.

Lorsque les propriétés sont récupérées pour la première fois, FileInfo appelle la méthode Refresh 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 classe FileInfo pour les opérations classiques telles que la copie, le déplacement, le changement de nom, la création, l’ouverture, la suppression et l’ajout à des fichiers.

Si vous effectuez plusieurs opérations sur le même fichier, il peut être plus efficace d’utiliser FileInfo méthodes d’instance au lieu des méthodes statiques correspondantes de la classe File, car une vérification de sécurité n’est pas toujours nécessaire.

La plupart des méthodes FileInfo 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 FileInfo spécifiques 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 méthodes FileInfo.

Énumération Description
FileAccess Spécifie l’accès en lecture et é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.

Note

Dans les membres qui acceptent un chemin d’accès en tant que chaîne d’entrée, ce chemin doit être bien 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 rogné 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 ne peut pas être qualifié deux fois. Par exemple, « c :\temp c :\windows » déclenche également une exception dans la plupart des cas. Vérifiez que vos chemins sont bien formés lors de l’utilisation de méthodes qui acceptent 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 spécifié peut également faire référence à un chemin relatif ou à un chemin d’accès UNC (Universal Naming Convention) pour un serveur et un nom de partage. Par exemple, tous les chemins 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 classe FileInfo 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 propriété Directory récupère un objet qui représente le répertoire parent d’un fichier.

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

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

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

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

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

Constructeurs

FileInfo(String)

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

Champs

FullPath

Représente le chemin complet du répertoire ou du fichier.

(Hérité de FileSystemInfo)
OriginalPath

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

(Hérité de FileSystemInfo)

Propriétés

Attributes

Obtient ou définit les attributs du fichier ou du 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, en temps universel coordonné (UTC), 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 d’extension du nom de fichier, y compris le point de début . même s’il s’agit de l’intégralité du nom de fichier ou d’une chaîne vide si aucune extension n’est présente.

(Hérité de FileSystemInfo)
FullName

Obtient le chemin complet du répertoire ou du fichier.

(Hérité de FileSystemInfo)
IsReadOnly

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

LastAccessTime

Obtient ou définit l’heure à laquelle le fichier ou le répertoire actif a été consulté pour la dernière fois.

(Hérité de FileSystemInfo)
LastAccessTimeUtc

Obtient ou définit l’heure, en temps universel coordonné (UTC), que le fichier ou répertoire actif a été consulté pour la dernière fois.

(Hérité de FileSystemInfo)
LastWriteTime

Obtient ou définit l’heure à laquelle le fichier ou le répertoire actif a été écrit pour la dernière fois.

(Hérité de FileSystemInfo)
LastWriteTimeUtc

Obtient ou définit l’heure, en temps universel coordonné (UTC), lorsque le fichier ou le répertoire actif a été écrit pour la dernière fois.

(Hérité de FileSystemInfo)
Length

Obtient la taille, en octets, du fichier actif.

LinkTarget

Obtient le chemin cible du lien situé dans FullName, ou null si cette instance FileSystemInfo 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 le répertoire actif.

(Hérité de FileSystemInfo)

Méthodes

AppendText()

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

CopyTo(String)

Copie un fichier existant dans un nouveau fichier, ce qui interdit le remplacement d’un fichier existant.

CopyTo(String, Boolean)

Copie un fichier existant dans un nouveau fichier, ce qui permet 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 pathToTargetspécifié.

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

Crée un objet qui contient toutes les informations pertinentes requises pour générer un proxy utilisé pour communiquer avec un objet distant.

(Hérité de MarshalByRefObject)
CreateText()

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

Decrypt()

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

Delete()

Supprime définitivement un fichier.

Encrypt()

Chiffre un fichier afin que seul le compte utilisé pour chiffrer le fichier puisse 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 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é d’entrées de liste de contrôle d’accès (ACL) pour le fichier décrit par l’objet FileInfo actuel.

GetHashCode()

Sert 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 actuel 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 avec le nom de fichier et des informations d’exception supplémentaires.

(Hérité de FileSystemInfo)
GetType()

Obtient la 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 Objectactuel.

(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é vers un nouvel emplacement, en fournissant l’option permettant de spécifier un nouveau nom de fichier.

MoveTo(String, Boolean)

Déplace un fichier spécifié vers un nouvel emplacement, 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 en mode spécifié.

Open(FileMode, FileAccess)

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

Open(FileMode, FileAccess, FileShare)

Ouvre un fichier en mode spécifié avec un 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 FileStream avec le mode de création spécifié, l’autorisation de lecture/écriture et de partage, l’accès à d’autres FileStreams peut avoir pour le 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 FileStreamen lecture seule.

OpenText()

Crée un StreamReader avec encodage UTF8 qui lit à partir d’un fichier texte existant.

OpenWrite()

Crée une FileStreamen é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, la suppression du fichier d’origine et la création d’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 de liste de contrôle d’accès (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 propriété FullName ou Name pour le chemin d’accès complet ou le nom de fichier.

ToString()

Retourne le chemin d’accès d’origine. Utilisez les propriétés FullName ou Name pour le chemin d’accès 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 fichiers, 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)

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

S’applique à

Voir aussi