Développement XNA pour la XBox et le PC
172
La classe Directory possède d’autres méthodes qui pourront vous servir dans le développement des jeux. Ainsi, la méthode GetFiles() retournera un tableau de chaînes de
caractères correspondant à la liste des fichiers présents dans un répertoire. L’une de ses
surcharges vous permet également d’ajouter un filtre sur les noms de fichiers à récupérer.
Manipuler les fichiers
La manipulation de fichiers se fera grâce à la classe File. Elle possède un très grand
nombre de méthodes, mais nous ne les présenterons pas toutes ici. Pour commencer,
cette classe dispose, comme la classe Directory, d’une méthode Exists() fonctionnant
exactement de la même manière.
Pour créer un fichier, vous pouvez utiliser la méthode Create (). Elle attend comme seul
paramètre le chemin du fichier à créer. Cependant, elle dispose de surcharges vous
permettant de définir la taille du buffer qui sera utilisé pour la lecture et l’écriture, la
méthode de création du fichier ou encore les options de sécurité à appliquer au fichier. La
méthode retourne un objet de type FileStream. Si vous ne souhaitez pas modifier tout de
suite le contenu du fichier, fermez-le directement avec la fonction Close().
Vous pouvez copier un fichier grâce à la méthode Copy (). Elle prend en paramètre le
chemin du fichier à copier et le chemin du fichier de destination. Elle possède une
surcharge qui vous propose de définir si le fichier de destination doit être écrasé lorsqu’il
existe déjà.
Pour supprimer un fichier, utilisez simplement la méthode Delete () qui attend comme
argument le chemin du fichier à supprimer.
La classe ci-dessous utilise toutes ces méthodes. Si le joueur appuie sur la touche C et
que le fichier test.sav n’existe pas dans le dossier de l’utilisateur, il est créé ; s’il existe,
il est copié en test_copy.sav en écrasant le fichier de destination. Si le joueur appuie
sur D et que test.sav existe, il est supprimé.
Gérer les fichiers dans le répertoire de l’utilisateur
public class ChapitreHuit : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
StorageDevice device;
StorageContainer container;
Bonne pratique
Une bonne habitude à prendre en programmation est de toujours fermer les fichiers que vous avez créés
ou ouverts lorsque vous n’en avez plus besoin.
=Labat FM.book Page 172 Vendredi, 19. juin 2009 4:01 16
172
La classe Directory possède d’autres méthodes qui pourront vous servir dans le développement des jeux. Ainsi, la méthode GetFiles() retournera un tableau de chaînes de
caractères correspondant à la liste des fichiers présents dans un répertoire. L’une de ses
surcharges vous permet également d’ajouter un filtre sur les noms de fichiers à récupérer.
Manipuler les fichiers
La manipulation de fichiers se fera grâce à la classe File. Elle possède un très grand
nombre de méthodes, mais nous ne les présenterons pas toutes ici. Pour commencer,
cette classe dispose, comme la classe Directory, d’une méthode Exists() fonctionnant
exactement de la même manière.
Pour créer un fichier, vous pouvez utiliser la méthode Create (). Elle attend comme seul
paramètre le chemin du fichier à créer. Cependant, elle dispose de surcharges vous
permettant de définir la taille du buffer qui sera utilisé pour la lecture et l’écriture, la
méthode de création du fichier ou encore les options de sécurité à appliquer au fichier. La
méthode retourne un objet de type FileStream. Si vous ne souhaitez pas modifier tout de
suite le contenu du fichier, fermez-le directement avec la fonction Close().
Vous pouvez copier un fichier grâce à la méthode Copy (). Elle prend en paramètre le
chemin du fichier à copier et le chemin du fichier de destination. Elle possède une
surcharge qui vous propose de définir si le fichier de destination doit être écrasé lorsqu’il
existe déjà.
Pour supprimer un fichier, utilisez simplement la méthode Delete () qui attend comme
argument le chemin du fichier à supprimer.
La classe ci-dessous utilise toutes ces méthodes. Si le joueur appuie sur la touche C et
que le fichier test.sav n’existe pas dans le dossier de l’utilisateur, il est créé ; s’il existe,
il est copié en test_copy.sav en écrasant le fichier de destination. Si le joueur appuie
sur D et que test.sav existe, il est supprimé.
Gérer les fichiers dans le répertoire de l’utilisateur
public class ChapitreHuit : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
StorageDevice device;
StorageContainer container;
Bonne pratique
Une bonne habitude à prendre en programmation est de toujours fermer les fichiers que vous avez créés
ou ouverts lorsque vous n’en avez plus besoin.
=Labat FM.book Page 172 Vendredi, 19. juin 2009 4:01 16
