2012-12-20 1 views
1

Je me mouille les pieds en faisant une application Windows Store. Il va convertir un fichier basé sur le texte en une classe. Pour cela, l'application a besoin d'un accès au fichier. Que je peux accomplir. mais j'ai créé un projet Test Windows Store App avec un exemple de fichier texte que je veux analyser. J'ai essayé d'ajouter l'accès au dossier Documents pour le projet de test, mais je semble incapable d'obtenir l'accès au fichier. Comment est-il fait?Comment puis-je utiliser un fichier dans un projet Windows Store App Testproject?

Répondre

1

Cela peut être fait, mais il est vraiment recommandé de ne pas le faire. Je vais d'abord vous dire comment le faire: -

Accédez au package.appxmanifest et aux fonctionnalités. Puis cocher « Documents Library »

Vous pouvez alors effectuer les opérations suivantes: -

StorageFolder storageFolder = KnownFolders.DocumentsLibrary; 
StorageFile file = await storageFolder.GetFileAsync("filename.txt"); 

Notez qu'il lancera une IOException si le fichier n'existe pas - il n'y a aucun moyen de vérifier au préalable :-(

Cependant, cela ne sera pas accepté dans le magasin l'approche recommandée est d'utiliser un sélecteur de fichier le code est assez simple, et je l'ai montré ci-dessous: -..

FileOpenPicker openPicker = new FileOpenPicker(); 
openPicker.ViewMode = PickerViewMode.Thumbnail; 
openPicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary; 
openPicker.FileTypeFilter.Add(".txt"); 
StorageFile file = await openPicker.PickSingleFileAsync(); 

Cela va entrer dans le magasin bien.

+0

Merci, pour le projet de test permettant la capacité DocumentsLibrary est acceptable. Toutefois, lorsque je colle le code FileOpenPicker dans un gestionnaire d'événements Button_Click, je peux voir que le code s'arrête à l'attente pour toujours car curieusement aucun type de boîte de dialogue n'est affiché. – Dabblernl

+0

étrange, j'ai ajouté un bouton à un projet, et ajouté le code exact ci-dessus à l'événement - la seule chose que je devais faire était de mettre async avant la partie vide de la méthode et cela a fonctionné un régal. Je suis heureux de laisser tomber le projet sur Skydrive si vous voulez, mais c'est très simple. –

+0

J'ai répondu à votre autre question - cela ne fonctionnait pas à cause d'un autre problème dans votre code. N'oubliez pas que vous devez uniquement activer la bibliothèque de documents si vous utilisez le premier bit de code, le deuxième bit n'a pas besoin de cette autorisation. –

Questions connexes