2010-10-15 6 views
3

Je développe une application dans Windows Phone 7 dans lequel j'ai besoin de lire un fichier texte. J'écris un code pour cela mais quand je débogue ce code, il donne une erreur "l'exception d'accès de méthode". même code fonctionne dans C# windows formulaire app. Je ne sais pas quel est le problème. plz me suggérer pour cela et résoudre ce problème. mon code est comme ceci:lire le fichier dans C# .net

namespace fileread 
{ 
    public partial class MainPage : PhoneApplicationPage 
    { 

     private string line; 

     // Constructor 
     public MainPage() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, RoutedEventArgs e) 
     { 
      StreamReader sr = new StreamReader(@"D:\abc.txt"); 
      line = sr.ReadLine(); 
      MessageBox.Show(line); 
     } 

Une erreur est survenue à la ligne: "ligne = sr.ReadLine();"

Répondre

3

Tout comme la plupart des autres appareils mobiles modernes, les applications fonctionnant sous WP7 sont en sandbox pour des raisons de sécurité et de fiabilité. Cela signifie également que vous ne pouvez pas effectuer d'E/S aléatoires comme vous le feriez dans un environnement sans restriction. WP7 fournit une persistance en bac à sable en utilisant des constructions familières en tant que répertoires et fichiers, au sein de ce que l'on appelle le stockage isolé. Essayez de rechercher IsolatedStorageFile.GetUserStoreForApplication() et le prendre à partir de là.

Mise à jour: Un exemple peut être trouvé here.

+0

k ... mais pouvez-vous me décrire plus en détail, ce que je ferai ensuite. Je suis plus jeune au développement. certains détails sous forme de code .... – user449199

6

Etes-vous en train d'essayer d'ouvrir un fichier sur votre ordinateur actuel dans cette ligne, à partir de l'émulateur WP7? Vous ne pourrez certainement pas faire cela à partir du téléphone puisque les applications sont isolées les unes des autres pour des raisons de sécurité.

Si vous avez besoin de lire dans un fichier texte statique, pensez à l'inclure dans le cadre de votre projet et référencement là au lieu, en utilisant la méthode System.Windows.Application.GetResourceStream:

var resource = System.Windows.Application.GetResourceStream(new Uri("textfile.txt", UriKind.Relative) 

Voir this question pour Plus d'informations.

+0

k. que faire ensuite ... signifie comment lire le fichier et afficher les données avec la méthode messagebox.show. pouvez-vous expliquer plus ?? sous forme de code comme premier point – user449199

+0

Donc si vous venez de mettre votre fichier txt dans votre solution, définissez l'action de construction à la ressource, et utilisez la méthode GetResourceStream, vous pouvez lire le contenu du fichier txt comme une chaîne avec quelque chose comme TextReader et passer cela à une zone de texte, ou quelque chose de similaire. Il existe * aucune * méthode MessageBox.Show() pour WP7. –

+0

Révision de mon commentaire précédent à ce sujet; il y a actuellement (heureusement) un MessageBox.Show :) –