Как читать из файла в Xamarin Forms?

218
04 июля 2018, 05:00

есть программа - болванка, которая записывает в файл инфу и потом ее читает. При запись происходит хорошо, но вот чтение не получается(программа просто пропускает этот кусок)

public class FileWorker : IFileWorker
{
    public Task DeleteAsync(string filename)
    {
        File.Delete(GetFilePath(filename));
        return Task.FromResult(true);
    }
    public Task<bool> ExistsAsync(string filename)
    {
        string filepath = GetFilePath(filename);
        bool exists = File.Exists(filepath);
        return Task<bool>.FromResult(exists);
    }
    public async Task<string> LoadTextAsync(string filename)
    {
        string filepath = GetFilePath(filename);
        using (StreamReader reader = File.OpenText(filepath))
        {
            var text = await reader.ReadToEndAsync();
            return text;
        }
    }
    public async Task SavefileAsync(string filename, string text, bool replace)
    {
        string filepath = GetFilePath(filename);
        if (replace)
        {
            await DeleteAsync(filename);
        }
        using (StreamWriter writer = File.CreateText(filepath))
        {
            await writer.WriteAsync(text);
        }
    }
    string GetFilePath(string filename)
    {
        return Path.Combine(GetPath(), filename);
    }
    string GetPath()
    {
        return System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
    }
}
Answer 1

могу предложить свою реализацию чтения (вернутся строки)

using(var text = File.OpenRead(filePath)) //получение файла у Вас верное
{
var buffer = new byte[text.Length];
await text.ReadAsync[buffer, 0, (int) text.Length]
return System.Text.Encoding.ASCII.GetString(buffer); //тут вы вольны в выборе конвертора. можно и байты вернуть, если это не текстовый файл
}
READ ALSO
Не осуществляется вход на сайт AngleSharp

Не осуществляется вход на сайт AngleSharp

Использую для авторизации библиотеку AngleSharp, на все сайты, до этого я успешно заходил используя следующий алгоритм (естественно другие адреса...

211
Как построить график в unity3d?

Как построить график в unity3d?

Необходимо построить график, а также, чтобы пользователь мог редактировать егоВносить новые данные

242
Синтаксис перегрузки операторов C#

Синтаксис перегрузки операторов C#

Подскажите, пожалуйста, почему метод перегружающий оператор должен быть обязательно public и static?

190
Отправка данных из dataGridView в Form2

Отправка данных из dataGridView в Form2

Есть код для отправки данных из dataGridView в Form2:

202