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