Assembly : mscorlib (dans mscorlib.dll)
Syntaxe<ComVisibleAttribute(True)> _ Public NotInheritable Class File
Il est possible d'accéder aux membres d'une classe statique directement sans une instance de la classe.
[ComVisibleAttribute(true)] public static class File
[ComVisibleAttribute(true)] public ref class File abstract sealed
/** @attribute ComVisibleAttribute(true) */ public final class File
ComVisibleAttribute(true) public final class File
NotesUtilisez la classe File pour les opérations courantes telles que la copie, le déplacement, l'attribution de nouveau nom, la création, l'ouverture, la suppression et l'ajout de fichiers. Vous pouvez également utiliser la classe File pour obtenir et définir des attributs de fichier ou des informations de DateTime relatives à la création, à l'accès et à l'écriture d'un fichier.
La plupart des méthodes File 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 File spécifiques tels que OpenText, CreateText ou Create.
Compte tenu que toutes les méthodes File sont statiques, il peut être plus efficace d'utiliser une méthode File plutôt qu'une méthode d'instance FileInfo correspondante si vous voulez exécuter une seule action. Toutes les méthodes File nécessitent le chemin d'accès au fichier que vous manipulez.
Les méthodes statiques de la classe File effectuent des contrôles de sécurité sur toutes les méthodes. Si vous souhaitez réutiliser un objet plusieurs fois, l'utilisation de la méthode d'instance correspondante de FileInfo peut être préférable, parce que la vérification de la sécurité n'est pas toujours nécessaire.
Par défaut, tous les utilisateurs ont l'autorisation d'accès complet en lecture/écriture aux nouveaux fichiers.
Le tableau suivant décrit les énumérations qui sont utilisées pour personnaliser le comportement de différentes méthodes File.
| Énumération | Description |
|---|---|
| Spécifie l'accès en lecture et en écriture à un fichier. | |
| Spécifie le niveau d'accès autorisé pour un fichier déjà utilisé. | |
| Spécifie si le contenu d'un fichier existant est préservé ou substitué et si les demandes de création d'un fichier existant provoquent une exception. |
Remarque |
|---|
| Dans les membres qui acceptent un chemin d'accès en tant qu'une chaîne d'entrée, ce chemin d'accès doit être correctement construit ; sinon, une exception est levée. Par exemple, si un chemin d'accès est qualifié 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 façon similaire, un chemin d'accès ou une combinaison de chemins d'accès ne peut pas être qualifié complet deux fois. Par exemple, "c:\temp c:\windows" lève une exception dans la plupart des cas. Assurez-vous que vos chemins d'accès sont correctement construits lorsque vous utilisez des 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 d'accès spécifié peut également faire référence à un chemin d'accès relatif ou à un chemin d'accès de convention d'affectation de noms (UNC) pour un nom de serveur et de partage. Par exemple, les chemins d'accès suivants sont tous valides :
-
"c:\\MonRépertoire\\MonFichier.txt" en C# ou "c:\MonRépertoire\MonFichier.txt" en Visual Basic.
-
"c:\\MonRépertoire" en C# ou "c:\MonRépertoire" en Visual Basic.
-
"MonRépertoire\\MonSousRépertoire" en C# ou "MonRépertoire\MonSousRépertoire" en Visual Basic.
-
"\\\\MonServeur\\MonPartage" en C# ou "\\MonServeur\MonPartage" en Visual Basic.
Pour obtenir un exemple illustrant l'utilisation de cette classe, consultez la section Exemple. Le tableau suivant répertorie des exemples d'autres tâches d'E/S courantes ou apparentées.
| Pour effectuer cette opération... | Consultez l'exemple qui se trouve dans cette rubrique... |
|---|---|
| Créer un fichier texte. | |
| Écrire dans un fichier texte. | |
| Lire à partir d'un fichier texte. | |
| Ajouter du texte dans un fichier. | Comment : ouvrir un fichier journal et y ajouter des éléments |
| Renommer ou déplacer un fichier. | |
| Supprimer un fichier. | |
| Copier un fichier. | |
| Obtenir la taille d'un fichier. | |
| Obtenir les attributs d'un fichier. | |
| Définir les attributs d'un fichier. | |
| Déterminer si un fichier existe. | |
| Lire à partir d'un fichier binaire. | Comment : lire et écrire dans un fichier de données créé récemment |
| Écrire dans un fichier binaire. | Comment : lire et écrire dans un fichier de données créé récemment |
| Récupérer une extension de fichier. | |
| Récupérer le chemin d'accès qualifié complet d'un fichier. | |
| Récupérer le nom de fichier et l'extension d'un chemin d'accès. | |
| Modifier l'extension d'un fichier. |
ExempleL'exemple suivant illustre certains membres principaux de la classe File.
Imports System Imports System.IO Public Class Test Public Shared Sub Main() Dim path As String = "c:\temp\MyTest.txt" If File.Exists(path) = False Then ' Create a file to write to. Dim sw As StreamWriter = File.CreateText(path) sw.WriteLine("Hello") sw.WriteLine("And") sw.WriteLine("Welcome") sw.Flush() sw.Close() End If Try ' Open the file to read from. Dim sr As StreamReader = File.OpenText(path) Do While sr.Peek() >= 0 Console.WriteLine(sr.ReadLine()) Loop sr.Close() Dim path2 As String = path + "temp" ' Ensure that the target does not exist. File.Delete(path2) ' Copy the file. File.Copy(path, path2) Console.WriteLine("{0} was copied to {1}.", path, path2) ' Delete the newly created file. File.Delete(path2) Console.WriteLine("{0} was successfully deleted.", path2) Catch e As Exception Console.WriteLine("The process failed: {0}", e.ToString()) End Try End Sub End Class
using System; using System.IO; class Test { public static void Main() { string path = @"c:\temp\MyTest.txt"; if (!File.Exists(path)) { // Create a file to write to. using (StreamWriter sw = File.CreateText(path)) { sw.WriteLine("Hello"); sw.WriteLine("And"); sw.WriteLine("Welcome"); } } // Open the file to read from. using (StreamReader sr = File.OpenText(path)) { string s = ""; while ((s = sr.ReadLine()) != null) { Console.WriteLine(s); } } try { string path2 = path + "temp"; // Ensure that the target does not exist. File.Delete(path2); // Copy the file. File.Copy(path, path2); Console.WriteLine("{0} was copied to {1}.", path, path2); // Delete the newly created file. File.Delete(path2); Console.WriteLine("{0} was successfully deleted.", path2); } catch (Exception e) { Console.WriteLine("The process failed: {0}", e.ToString()); } } }
using namespace System; using namespace System::IO; int main() { String^ path = "c:\\temp\\MyTest.txt"; if ( !File::Exists( path ) ) { // Create a file to write to. StreamWriter^ sw = File::CreateText( path ); try { sw->WriteLine( "Hello" ); sw->WriteLine( "And" ); sw->WriteLine( "Welcome" ); } finally { if ( sw ) delete (IDisposable^)(sw); } } // Open the file to read from. StreamReader^ sr = File::OpenText( path ); try { String^ s = ""; while ( s = sr->ReadLine() ) { Console::WriteLine( s ); } } finally { if ( sr ) delete (IDisposable^)(sr); } try { String^ path2 = String::Concat( path, "temp" ); // Ensure that the target does not exist. File::Delete( path2 ); // Copy the file. File::Copy( path, path2 ); Console::WriteLine( "{0} was copied to {1}.", path, path2 ); // Delete the newly created file. File::Delete( path2 ); Console::WriteLine( "{0} was successfully deleted.", path2 ); } catch ( Exception^ e ) { Console::WriteLine( "The process failed: {0}", e ); } }
import System.*; import System.IO.*; class Test { public static void main(String[] args) { String path = "c:\\temp\\MyTest.txt"; if (!(File.Exists(path))) { // Create a file to write to. StreamWriter sw = File.CreateText(path); try { sw.WriteLine("Hello"); sw.WriteLine("And"); sw.WriteLine("Welcome"); } finally { sw.Dispose(); } } // Open the file to read from. StreamReader sr = File.OpenText(path); try { String s = ""; while ((s = sr.ReadLine()) != null) { Console.WriteLine(s); } } finally { sr.Dispose(); } try { String path2 = path + "temp"; // Ensure that the target does not exist. File.Delete(path2); // Copy the file. File.Copy(path, path2); Console.WriteLine("{0} was copied to {1}.", path, path2); // Delete the newly created file. File.Delete(path2); Console.WriteLine("{0} was successfully deleted.", path2); } catch (System.Exception e) { Console.WriteLine("The process failed: {0}", e.ToString()); } } //main } //Test
Sécurité des threads
Plates-formesWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
Informations de version
Remarque
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ