Share via


Comment : créer un fichier ou un dossier (Guide de programmation C#)

Cet exemple crée un dossier et un sous-dossier sur un ordinateur, puis crée un fichier dans le sous-dossier et écrit des données dans le fichier.

Exemple

public class CreateFileOrFolder
{
    static void Main()
    {
        // Specify a "currently active folder"
        string activeDir = @"c:\testdir2";

        //Create a new subfolder under the current active folder
        string newPath = System.IO.Path.Combine(activeDir, "mySubDir");

        // Create the subfolder
        System.IO.Directory.CreateDirectory(newPath);

        // Create a new file name. This example generates
        // a random string.
        string newFileName = System.IO.Path.GetRandomFileName();

        // Combine the new file name with the path
        newPath = System.IO.Path.Combine(newPath, newFileName);

        // Create the file and write to it.
        // DANGER: System.IO.File.Create will overwrite the file
        // if it already exists. This can occur even with
        // random file names.
        if (!System.IO.File.Exists(newPath))
        {
            using (System.IO.FileStream fs = System.IO.File.Create(newPath))
            {
                for (byte i = 0; i < 100; i++)
                {
                    fs.WriteByte(i);
                }
            }
        }

        // Read data back from the file to prove
        // that the previous code worked.
        try
        {
            byte[] readBuffer = System.IO.File.ReadAllBytes(newPath);
            foreach (byte b in readBuffer)
            {
                Console.WriteLine(b);
            }
        }
        catch (System.IO.IOException e)
        {
            Console.WriteLine(e.Message);
        }

        // Keep the console window open in debug mode.
        System.Console.WriteLine("Press any key to exit.");
        System.Console.ReadKey();
    }
}

Si le dossier existe déjà, CreateDirectory est sans effet et aucune exception n'est levée. Toutefois, File.Create remplace les fichiers existants. Pour éviter de remplacer un fichier existant, vous pouvez faire appel à la méthode OpenWrite et spécifier l'option FileMode.OpenOrCreate qui permettra d'ajouter le fichier plutôt que de le remplacer.

Les conditions ci-dessous peuvent générer une exception.

  • Le nom de dossier est incorrect. Il contient par exemple des caractères non valides ou se compose uniquement d'un espace blanc (classe ArgumentException). Utilisez la classe Path pour créer des noms de chemin d'accès valides.

  • Le dossier parent du dossier à créer est en lecture seule (IOException, classe).

  • Le nom du dossier est null (classe ArgumentNullException).

  • Le nom du dossier est trop long (classe PathTooLongException).

  • Le nom du dossier se compose uniquement du signe deux-points ":" (classe PathTooLongException).

Sécurité

Une instance de classe SecurityException peut être levée dans des situations où le niveau de confiance n'est pas total.

Si l'utilisateur n'est pas autorisé à créer le dossier, l'exemple lève une instance de la classe UnauthorizedAccessException.

Voir aussi

Référence

System.IO

Concepts

Guide de programmation C#

Autres ressources

Système de fichiers et Registre (Guide de programmation C#)