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.Provides properties and instance methods for the creation, copying, deletion, moving, and opening of files, and aids in the creation of FileStream objects. Cette classe ne peut pas être héritée.This class cannot be inherited.

public ref class FileInfo sealed : System::IO::FileSystemInfo
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class FileInfo : System.IO.FileSystemInfo
type FileInfo = class
    inherit FileSystemInfo
Public NotInheritable Class FileInfo
Inherits FileSystemInfo
Héritage
Attributs

Exemples

L’exemple suivant illustre quelques-uns des principaux membres de FileInfo la classe.The following example demonstrates some of the main members of the FileInfo class.

Lorsque les propriétés sont récupérées pour FileInfo la première Refresh fois, appelle la méthode et met en cache les informations relatives au fichier.When the properties are first retrieved, FileInfo calls the Refresh method and caches information about the file. Lors des appels suivants, vous devez Refresh appeler pour recevoir la copie la plus récente des informations.On subsequent calls, you must call Refresh to get the latest copy of the information.

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.This example produces output similar to the following.

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 courantes telles que la copie, le déplacement, le changement de nom, la création, l’ouverture, la suppression et l’ajout à des fichiers.Use the FileInfo class for typical operations such as copying, moving, renaming, creating, opening, deleting, and appending to files.

Si vous effectuez plusieurs opérations sur le même fichier, il peut être plus efficace d’utiliser FileInfo des méthodes d’instance à la place des méthodes statiques correspondantes de la classe, car une vérification de la File sécurité n’est pas toujours nécessaire.If you are performing multiple operations on the same file, it can be more efficient to use FileInfo instance methods instead of the corresponding static methods of the File class, because a security check will not always be necessary.

La FileInfo plupart des méthodes retournent d’autres types d’e/s lorsque vous créez ou ouvrez des fichiers.Many of the FileInfo methods return other I/O types when you create or open files. Vous pouvez utiliser ces autres types pour manipuler davantage un fichier.You can use these other types to further manipulate a file. Pour plus d’informations, consultez FileInfo membres spécifiques tels Openque OpenRead, OpenText CreateText,, ou Create.For more information, see specific FileInfo members such as Open, OpenRead, OpenText, CreateText, or Create.

Par défaut, l’accès complet en lecture/écriture aux nouveaux fichiers est accordé à tous les utilisateurs.By default, full read/write access to new files is granted to all users.

Le tableau suivant décrit les énumérations utilisées pour personnaliser le comportement de différentes FileInfo méthodes.The following table describes the enumerations that are used to customize the behavior of various FileInfo methods.

ÉnumérationEnumeration DescriptionDescription
FileAccess Spécifie l’accès en lecture et en écriture à un fichier.Specifies read and write access to a file.
FileShare Spécifie le niveau d’accès autorisé pour un fichier qui est déjà en cours d’utilisation.Specifies the level of access permitted for a file that is already in use.
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.Specifies whether the contents of an existing file are preserved or overwritten, and whether requests to create an existing file cause an 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.In members that accept a path as an input string, that path must be well-formed or an exception is raised. 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.For example, if a path is fully qualified but begins with a space, the path is not trimmed in methods of the class. Par conséquent, le chemin d’accès est incorrect et une exception est levée.Therefore, the path is malformed and an exception is raised. De même, un chemin d’accès ou une combinaison de chemins d’accès ne peut pas être qualifié complet deux fois.Similarly, a path or a combination of paths cannot be fully qualified twice. Par exemple, «c:\temp c:\Windows» lève également une exception dans la plupart des cas.For example, "c:\temp c:\windows" also raises an exception in most cases. 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.Ensure that your paths are well-formed when using methods that accept a path string.

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.In members that accept a path, the path can refer to a file or just a directory. 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.The specified path can also refer to a relative path or a Universal Naming Convention (UNC) path for a server and share name. Par exemple, les chemins d’accès acceptables sont les suivants:For example, all the following are acceptable paths:

  • «c:\\MyDir\\MyFile.txt» dans C#, ou «c:\MyDir\MyFile.txt» dans Visual Basic."c:\\MyDir\\MyFile.txt" in C#, or "c:\MyDir\MyFile.txt" in Visual Basic.

  • «c:\\MyDir» dans C#, ou «c:\MyDir» dans Visual Basic."c:\\MyDir" in C#, or "c:\MyDir" in Visual Basic.

  • «MyDir\\MySubdir» dans C#, ou «MyDir\MySubDir» dans Visual Basic."MyDir\\MySubdir" in C#, or "MyDir\MySubDir" in Visual Basic.

  • «\\ C#\Monserveur \MyShare» dans, ou«\\monserveur\partage» dans Visual Basic.\\"\\\\MyServer\\MyShare" in C#, or "\\MyServer\MyShare" in Visual Basic.

La FileInfo classe fournit les propriétés suivantes qui vous permettent de récupérer des informations sur un fichier.The FileInfo class provides the following properties that enable you to retrieve information about a file. Pour obtenir un exemple d’utilisation de chaque propriété, consultez les pages de propriétés.For an example of how to use each property, see the property pages.

  • La Directory propriété récupère un objet qui représente le répertoire parent d’un fichier.The Directory property retrieves an object that represents the parent directory of a file.

  • La DirectoryName propriété récupère le chemin d’accès complet du répertoire parent d’un fichier.The DirectoryName property retrieves the full path of the parent directory of a file.

  • La Exists propriété vérifie la présence d’un fichier avant de l’y faire fonctionner.The Exists property checks for the presence of a file before operating on it.

  • La IsReadOnly propriété récupère ou définit une valeur qui spécifie si un fichier peut être modifié.The IsReadOnly property retrieves or sets a value that specifies whether a file can be modified.

  • Length Récupère la taille d’un fichier.The Length retrieves the size of a file.

  • Name Récupère le nom d’un fichier.The Name retrieves the name of a file.

Constructeurs

FileInfo(String)

Initialise une nouvelle instance de la classe FileInfo, qui sert de wrapper pour un chemin d'accès de fichier.Initializes a new instance of the FileInfo class, which acts as a wrapper for a file path.

Champs

FullPath

Représente le chemin d'accès qualifié complet du répertoire ou fichier.Represents the fully qualified path of the directory or file.

(Hérité de FileSystemInfo)
OriginalPath

Chemin d'accès initialement spécifié par l'utilisateur, relatif ou absolu.The path originally specified by the user, whether relative or absolute.

(Hérité de FileSystemInfo)

Propriétés

Attributes

Obtient ou définit les attributs pour le fichier ou le répertoire actif.Gets or sets the attributes for the current file or directory.

(Hérité de FileSystemInfo)
CreationTime

Obtient ou définit l'heure de création du fichier ou du répertoire actif.Gets or sets the creation time of the current file or directory.

(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.Gets or sets the creation time, in coordinated universal time (UTC), of the current file or directory.

(Hérité de FileSystemInfo)
Directory

Obtient une instance du répertoire parent.Gets an instance of the parent directory.

DirectoryName

Obtient une chaîne représentant le chemin d’accès complet du répertoire.Gets a string representing the directory's full path.

Exists

Obtient une valeur indiquant si un fichier existe.Gets a value indicating whether a file exists.

Extension

Obtient la chaîne représentant l'extension du fichier.Gets the string representing the extension part of the file.

(Hérité de FileSystemInfo)
FullName

Obtient le chemin d'accès complet du répertoire ou fichier.Gets the full path of the directory or file.

(Hérité de FileSystemInfo)
IsReadOnly

Obtient ou définit une valeur qui détermine si le fichier actuel est en lecture seule.Gets or sets a value that determines if the current file is read only.

LastAccessTime

Obtient ou définit l'heure du dernier accès au fichier ou répertoire actif.Gets or sets the time the current file or directory was last accessed.

(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.Gets or sets the time, in coordinated universal time (UTC), that the current file or directory was last accessed.

(Hérité de FileSystemInfo)
LastWriteTime

Obtient ou définit l'heure de la dernière écriture dans le fichier ou répertoire actif.Gets or sets the time when the current file or directory was last written to.

(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.Gets or sets the time, in coordinated universal time (UTC), when the current file or directory was last written to.

(Hérité de FileSystemInfo)
Length

Obtient la taille en octets du fichier actuel.Gets the size, in bytes, of the current file.

Name

Obtient le nom du fichier.Gets the name of the file.

Méthodes

AppendText()

Crée un élément StreamWriter qui ajoute du texte au fichier représenté par cette instance de FileInfo.Creates a StreamWriter that appends text to the file represented by this instance of the FileInfo.

CopyTo(String)

Copie un fichier existant vers un nouveau fichier, en interdisant le remplacement d'un fichier existant.Copies an existing file to a new file, disallowing the overwriting of an existing file.

CopyTo(String, Boolean)

Copie un fichier existant vers un nouveau fichier, en autorisant le remplacement d'un fichier existant.Copies an existing file to a new file, allowing the overwriting of an existing file.

Create()

Crée un fichier.Creates a file.

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.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Hérité de MarshalByRefObject)
CreateText()

Crée un élément StreamWriter qui écrit un nouveau fichier texte.Creates a StreamWriter that writes a new text file.

Decrypt()

Déchiffre un fichier qui a été chiffré par le compte actuel à l'aide de la méthode Encrypt().Decrypts a file that was encrypted by the current account using the Encrypt() method.

Delete()

Supprime définitivement un fichier.Permanently deletes a file.

Encrypt()

Chiffre un fichier de sorte que seul le compte utilisé pour chiffrer le fichier peut le déchiffrer.Encrypts a file so that only the account used to encrypt the file can decrypt it.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(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.Gets a FileSecurity object that encapsulates the access control list (ACL) entries for the file described by the current FileInfo object.

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.Gets a FileSecurity object that encapsulates the specified type of access control list (ACL) entries for the file described by the current FileInfo object.

GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetLifetimeService()

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.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Hérité de MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

Définit l'objet SerializationInfo à l'aide du nom de fichier et d'autres informations se rapportant à l'exception.Sets the SerializationInfo object with the file name and additional exception information.

(Hérité de FileSystemInfo)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
InitializeLifetimeService()

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.Obtains a lifetime service object to control the lifetime policy for this instance.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

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

Crée une copie superficielle de l'objet MarshalByRefObject actuel.Creates a shallow copy of the current MarshalByRefObject object.

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

Déplace un fichier spécifié à un nouvel emplacement, en permettant de spécifier un nouveau nom.Moves a specified file to a new location, providing the option to specify a new file name.

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à.Moves a specified file to a new location, providing the options to specify a new file name and to overwrite the destination file if it already exists.

Open(FileMode)

Ouvre un fichier dans le mode spécifié.Opens a file in the specified mode.

Open(FileMode, FileAccess)

Ouvre un fichier dans le mode spécifié, avec accès en lecture, en écriture ou en lecture/écriture.Opens a file in the specified mode with read, write, or read/write access.

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.Opens a file in the specified mode with read, write, or read/write access and the specified sharing option.

OpenRead()

Crée un élément FileStream en lecture seule.Creates a read-only FileStream.

OpenText()

Crée un élément StreamReader avec encodage UTF-8 qui lit un fichier texte existant.Creates a StreamReader with UTF8 encoding that reads from an existing text file.

OpenWrite()

Crée un élément FileStream en écriture seule.Creates a write-only FileStream.

Refresh()

Actualise l'état de l'objet.Refreshes the state of the object.

(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é.Replaces the contents of a specified file with the file described by the current FileInfo object, deleting the original file, and creating a backup of the replaced file.

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é.Replaces the contents of a specified file with the file described by the current FileInfo object, deleting the original file, and creating a backup of the replaced file. Spécifie également s'il faut ignorer les erreurs de fusion.Also specifies whether to ignore merge errors.

SetAccessControl(FileSecurity)

Applique les entrées ACL décrites par un objet FileSecurity au fichier décrit par l'objet FileInfo actuel.Applies access control list (ACL) entries described by a FileSecurity object to the file described by the current FileInfo object.

ToString()

Retourne le chemin d’accès sous forme de chaîne.Returns the path as a string. Utilisez la propriété Name pour le chemin d’accès complet.Use the Name property for the full path.

Méthodes d’extension

GetAccessControl(FileInfo)
GetAccessControl(FileInfo, AccessControlSections)
SetAccessControl(FileInfo, FileSecurity)

S’applique à

Voir aussi