Сохранить файл программы Xamarin Mac - PullRequest
0 голосов
/ 10 декабря 2018

Я работаю с Visual Studio Mac.В документации на сайте Microsoft были некоторые инструкции о вызове некоторых команд, таких как «openDocument», «SaveDocument», которые вызывают специальные окна, но как сохранить текст или другой файл?Как я обнаружил, обычный код C # из Windows иногда неправильно работает в Xamarin.

[Export("saveDocumentAs:")]
    void ShowSaveAs (NSObject sender)
    {
        var dlg = new NSSavePanel();
        dlg.Title = "Сохранить текстовый файл";
        dlg.AllowedFileTypes = new string[] { "txt", "html", "md", "css" };

            if (dlg.RunModal() == 1)
            {
                var alert = new NSAlert()
                {
                    AlertStyle = NSAlertStyle.Critical,
                    InformativeText = "Документ успешно сохранён.",
                    MessageText = "Сохранение документа",
                };
                alert.RunModal();
            }


    }

1 Ответ

0 голосов
/ 10 декабря 2018

Сохранение и загрузка файлов в формах Xamarin

Классы System.IO могут использоваться для доступа к файловой системе на каждой платформе.Класс File позволяет создавать, удалять и читать файлы, а класс Directory позволяет создавать, удалять или перечислять содержимое каталогов.Вы также можете использовать подклассы Stream, которые могут обеспечить большую степень контроля над файловыми операциями (такими как сжатие или поиск позиции в файле).

Текстовый файл может быть записан с использованием File.WriteAllTextМетод:

File.WriteAllText(fileName, text);

Текстовый файл может быть прочитан с использованием метода File.ReadAllText:

string text = File.ReadAllText(fileName);

Кроме того, метод File.Exists определяет, существует ли указанный файл:

bool doesExist = File.Exists(fileName);

Путь файла на каждой платформе можно определить из стандартной библиотеки .NET, используя значение перечисления Environment.SpecialFolder в качестве первого аргумента метода Environment.GetFolderPath.Затем его можно объединить с именем файла с помощью метода Path.Combine:

string fileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "temp.txt");

Дополнительная информация: вы можете обратиться к этому документу и демонстрации здесь

...