Я сейчас пишу приложение для переводчика языка. Я хочу поддержать возможность выбора файла, чтения содержимого файла в поле ввода и вывода перевода после нажатия соответствующей кнопки.
Я использую плагин «Xam.Plugin.FilePicker», чтобы позволить пользователю выбрать файл, который работает. Когда пользователь выбирает файл, он у меня появляется, чтобы имя файла отображалось на экране. Однако возникают проблемы при попытке прочитать файл в поле ввода, которое, я считаю, связано с тем, что приложение не может определить путь к файлу - в настоящее время приложение пытается прочитать файл из того места, где Visual Studio 2017 находится.
Я пробовал несколько подходов, некоторые из которых подробно описаны ниже:
Я также пробовал:
var file = await CrossFilePicker.Current.PickFile();
if (file != null) {
string filePath =
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
string filename = Path.Combine(filePath, file.FileName);
using (var reader = new StreamReader(filename)) {
entText= reader.ReadToEnd();
}
}
Где entText
- имя поля ввода в файле MainPage.xaml.cs
Ниже приведен код, который у меня есть. Я удалил приведенный выше код из файла и, в то время как он давал мне путь, путь был либо путем, в котором находится Visual Studio 2017, либо каким-либо другим путем. В любом случае, приложение не может найти файл.
C # код:
private async void BtnReadFile_Clicked(object sender, EventArgs e)
{
string fileName;
string fileText;
string filePath;
// Allows the user to choose a file from any location
var file = await CrossFilePicker.Current.PickFile();
if (file != null)
{
lblFileRead.Text = file.FileName; // Displays the name of the file
}
}
Код Xaml:
<Entry x:Name="entText" Placeholder="Enter text to translate" Keyboard="Text"
HeightRequest="200" WidthRequest="250" TextChanged="EntText_TextChanged" />
- Кнопка для чтения в файле
<Button x:Name="btnReadFile" Text="Read in file" Clicked="BtnReadFile_Clicked" />
В заключение я хочу иметь возможность читать в файле из любого местоположения, а не только из заранее определенного местоположения, т.е.
Пользователь должен иметь возможность читать файлы из "C: / Documents / files", "C: / Downloads /" и т. Д.