Écrire dans un Fichier de Monotouch
Comment puis-je créer et écrire dans un fichier dans un Monotouch application iPhone?
Le fichier devrait persister entre l'application se lance, donc je suppose qu'il doit être placé quelque part dans l'App bundle ( documents ou ressources?).
Vous devez vous connecter pour publier un commentaire.
[Remarque: Ma réponse est assez complète car je ne connais pas votre niveau de connaissances en matière d'application des forfaits ou la structure de votre application iPhone du bac à sable peu de monde - toutes mes excuses si je couvre des choses que vous savez déjà - je préfère écrire un peu trop que trop peu, et pour ajouter un peu de la pourquoi lors de la discussion de la comment...]
Vous avez un peu d'options (bien sûr). Je suis en supposant que vous êtes déjà familier avec .Net dans une certaine mesure et que votre question est plus sur la façon de faire de l'iPhone Manière.
Chaque application iPhone (et vous verrez la même chose pour les applications sous mac OS X) est un "paquet" qui n'est pas un fichier exécutable dans le sens traditionnel du terme, mais en fait, une hiérarchie de dossiers à l'intérieur de laquelle votre application binaires vie (avec les ressources, les réglages, etc.).
Raison de la façon dont uber-bac à sable applications de l'iPhone, vous n'avez pas accès aux dossiers partagés vous serais normalement être en mesure de les utiliser quand on fait du bureau de développement (par exemple, un dossier Documents communs qui vit sous un dossier accueil de l'utilisateur pour les applications qui ont accès).
Au lieu de cela, votre application a sa propre hiérarchie de dossiers, c'est comme de son propre ensemble de dossiers qui devraient être partagés entre les applications.
La façon la plus simple de voir ce que votre application structure du dossier de ressemble sur le téléphone, c'est de regarder le dossier de l'iPhone simulateur utilise pour l'installation d'applis, paramètres, bla bla bla. Sur ma machine (je ne me souviens pas si c'est configurable, mais c'est probablement la même chose sur votre système), vous pouvez obtenir le dossier par ce chemin:
~/Library/Application Support/iPhone Simulator
À l'intérieur de ça, il y a un Utilisateur/Applications dossier qui contient les applications que vous avez installé pour le simulateur. Descendez dans l'un de ces dossiers, et vous pouvez voir la structure de dossier de votre application aura accès à sur le téléphone.
Pour stocker les fichiers que vous souhaitez persisté à travers appli des sessions, votre application dossier de Documents est l'endroit. Ce n'est pas votre seul choix pour la création de fichiers, mais c'est la droit choix pour ce travail. En plus de vos fichiers stockés correctement, en les gardant dans le dossier Documents auront elles aussi sauvegardées par iTunes lorsque l'utilisateur synchronise.
Avec MonoTouch, vous pouvez obtenir votre application Documents du chemin d'accès au dossier avec
Environment.GetFolderPath(Environment.SpecialFolder.Personal);
Si vous souhaitez le tester, c'est une partie extrêmement simple code qui vais écrire un fichier appelé "out.txt" à votre application dossier de Documents. Ce code peut également lire le contenu du fichier de montrer qu'il a été créé - pour de plus amples vérifications, simulateur le dossier Applications de tri de l'application des dossiers par la date à laquelle ils ont été modifiés, détaillez le plus récemment modifié, et regarder à l'intérieur de son dossier Documents, vous les trouverez "out.txt" (vous ne pouvez pas trouver l'application du dossier par son nom parce que, lorsque votre application est installée, elle est placée à l'intérieur d'un dossier avec un nom comme "2B3CA854-FADB-4DDC-9732-0E61B3DD8D8C" - trier les dossiers par la date à laquelle ils ont été modifiées point que vous avez le plus récemment modifié app, qui, dans ce cas, est-ce que l'app contient le code suivant):
Alors, la seule chose ici qui est vraiment spécifique pour iPhone est de savoir que "l'Environnement.SpecialFolder.Personnel" cartes à votre application dossier de Documents. Au-delà, cela .Net comme d'habitude.
Et, encore une fois, c'était sans doute exagéré, mais je voulais répondre suffisamment à fond pour tout le monde qui le voit - espérons que cela aide 🙂
La suite Comment à partir de la Xamarin.iOS guide site a quelques conseils à l'endroit où stocker vos fichiers:
http://docs.xamarin.com/guides/ios/application_fundamentals/working_with_the_file_system/
Vous pouvez faire quelque chose comme cela au moment de l'exécution:
et qui va créer le fichier. Pour l'ouvrir à la lecture, utilisez la même
Path.Combine()
mais avec StreamReader.