0
votes

Comment lire dans un fichier de n'importe où (chemin relatif)

J'écris actuellement une application de traducteur de langue. Je souhaite prendre en charge la possibilité de choisir un fichier, de lire dans le contenu du fichier dans la zone d'entrée et de la translation lorsque le bouton approprié est enfoncé.

J'utilise le plugin 'xam.plugin.filepicker' à Permettez à l'utilisateur de choisir un fichier qui fonctionne. Lorsque l'utilisateur choisit un fichier, je l'ai afin que le nom du fichier soit affiché à l'écran. Cependant, des problèmes surviennent lorsque vous essayez de lire dans le fichier dans la zone d'entrée, ce qui, selon moi, est lié à l'application de ne pas pouvoir déterminer le chemin du fichier - Actuellement, l'application essaie de lire dans le fichier à partir de l'emplacement où Visual Studio 2017 est situé.

J'ai essayé plusieurs approches, dont certaines sont détaillées dans ci-dessous:

  • Comment obtenir un chemin relatif d'un Fichier dans Visual Studio?
  • Comment lire à partir d'un fichier en utilisant C # Code ?

    J'ai également essayé: xxx

    entext est le nom de la zone d'entrée dans le MAINPAGE.XAMLL.CS Le fichier

    ci-dessous est le code que j'ai jusqu'à présent. J'ai supprimé le code ci-dessus dans le fichier et, alors qu'il me donnait un chemin, le chemin était soit le chemin dans lequel Visual Studio 2017 est situé dans ou dans un autre chemin. De toute façon, l'application n'a pas pu trouver le fichier.

    C # code: xxx

    xaml code:

    • Boîte d'entrée: xxx
      • bouton pour lire dans le fichier xxx

        pour conclure, je veux être capable de lire dans un fichier de n'importe quel emplacement , pas seulement un emplacement prédéterminé, c'est-à-dire < P> L'utilisateur doit pouvoir lire dans un fichier de "C: / Documents / Fichiers", "C: / Téléchargements /", etc.


2 commentaires

@mjwills tandis que je suis capable d'obtenir le nom du fichier à l'aide du plugin, je ne parviens pas à lire dans le contenu du fichier dans la zone d'entrée en raison de l'application qui ne pouvait pas déterminer le chemin correct du fichier. La fonction 'btnreadfile_Clicked' 'est l'endroit où j'essaie de lire dans le fichier.


Pourquoi définissez-vous FilePath à Environnement.GetFolderDePath (Environnement.Specialfolder.localApp LicationData) plutôt que File.filePath ?


3 Réponses :


2
votes

Je suppose que vous utilisez Xamarin? Vous n'êtes pas censé avoir accès au fichier lui-même. Vous pouvez obtenir le nom et vous pouvez obtenir le contenu.

Vous pouvez obtenir le contenu du fichier en accédant à fichier.dataarray au lieu d'utiliser l'accès du fichier traditionnel. Donc, quel est le le chemin du fichier est, ne vous est pas de votre entreprise.


0 commentaires

1
votes

Vous définissez filepath à xxx

quand il devrait plutôt être: xxx

Comme ce dernier est l'emplacement réel du fichier.


0 commentaires

1
votes

Le crossfilePicker renvoie une référence de chemin complet au fichier sélectionné. Donc, vous n'avez pas besoin de le combiner avec un autre chemin.

Reportez-vous à l'exemple de la Site Web du projet Il montre exactement ce que vous essayez de faire - lire le contenu du fichier et la sortie. xxx

Il vous suffit de remplacer la sortie de la console en plaçant la valeur du contenu < / code> à votre contrôle.


0 commentaires