FileInfo Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 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 des informations sur le fichier. Lors des appels suivants, vous devez appeler Refresh pour obtenir la dernière copie des informations.
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 pour les opérations classiques telles que la copie, le FileInfo 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 des méthodes d’instance au lieu des méthodes statiques correspondantes de la File classe, car une vérification de sécurité n’est pas toujours nécessaire.
FileInfo De nombreuses 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 tels que Open, , OpenTextOpenRead, CreateText, ou Create.FileInfo
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 é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 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 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
| Nom | Description |
|---|---|
| FileInfo(String) |
Initialise une nouvelle instance de la FileInfo classe, qui agit en tant que wrapper pour un chemin d’accès au fichier. |
Champs
| Nom | Description |
|---|---|
| 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
| Nom | Description |
|---|---|
| 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 |
| 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 d’accès cible du lien situé dans FullName, ou |
| 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
| Nom | Description |
|---|---|
| AppendText() |
Crée un StreamWriter texte qui ajoute du texte au fichier représenté par cette instance du FileInfo. |
| CopyTo(String, Boolean) |
Copie un fichier existant dans un nouveau fichier, ce qui permet le remplacement d’un fichier existant. |
| CopyTo(String) |
Copie un fichier existant dans un nouveau fichier, ce qui interdit le remplacement d’un fichier existant. |
| Create() |
Crée un fichier. |
| CreateAsHardLink(String) |
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. |
| CreateAsSymbolicLink(String) |
Crée un lien symbolique situé dans FullName ce point à l’élément spécifié |
| 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 fichier texte qui écrit un nouveau fichier texte. |
| Decrypt() |
Déchiffre un fichier chiffré par le compte actuel à l’aide de la Encrypt() méthode. |
| 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 FileSecurity objet qui encapsule les entrées de liste de contrôle d’accès (ACL) pour le fichier décrit par l’objet actif FileInfo . |
| GetAccessControl(AccessControlSections) |
Obtient un FileSecurity objet 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 actif FileInfo . |
| 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 actuel MarshalByRefObject . (Hérité de MarshalByRefObject) |
| 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à. |
| 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. |
| 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(FileMode, FileAccess) |
Ouvre un fichier en mode spécifié avec un accès en lecture, en écriture ou en lecture-écriture. |
| Open(FileMode) |
Ouvre un fichier en mode spécifié. |
| Open(FileStreamOptions) |
Initialise une nouvelle instance de la FileStream classe 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 objet en lecture seule FileStream. |
| OpenText() |
Crée un StreamReader encodage UTF8 qui lit à partir d’un fichier texte existant. |
| OpenWrite() |
Crée une écriture seule FileStream. |
| Refresh() |
Actualise l’état de l’objet. (Hérité de FileSystemInfo) |
| Replace(String, String, Boolean) |
Remplace le contenu d’un fichier spécifié par le fichier décrit par l’objet actif FileInfo , 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. |
| Replace(String, String) |
Remplace le contenu d’un fichier spécifié par le fichier décrit par l’objet actif FileInfo , la suppression du fichier d’origine et la création d’une sauvegarde du fichier remplacé. |
| 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 FileSecurity objet au fichier décrit par l’objet actif FileInfo . |
| ToString() |
Retourne le chemin d’accès d’origine passé au FileInfo constructeur. Utilisez la ou Name la FullName propriété 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 ou Name le FullName chemin d’accès complet ou le nom de fichier/répertoire. (Hérité de FileSystemInfo) |
Méthodes d’extension
| Nom | Description |
|---|---|
| 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, AccessControlSections) |
Retourne les informations de sécurité d’un fichier. |
| GetAccessControl(FileInfo) |
Retourne les informations de sécurité d’un fichier. |
| SetAccessControl(FileInfo, FileSecurity) |
Modifie les attributs de sécurité d’un fichier existant. |