Как записать в поток, затем в файл - PullRequest
0 голосов
/ 14 февраля 2019

Как часть другого проекта, я нашел эту статью, объясняющую, как вызвать SaveFileDialog.

Но в центре кода есть комментарий, который просто читает

// Код для записи потока идет сюда.

и, видя, что я тоже не знаю, как это сделать, я немного растерялся.

В конце мой код будет составлять список пользовательских выборов, каждый из которых будет разделен символом новой строки, а затем сохранять этот список в .json с именем и местоположением, указанным пользователем.У пользователя будет возможность либо создать новый .json, либо перезаписать старый.

Я не включаю никакие фрагменты кода, так как сейчас, без знания того, как правильно записать в поток, естьдействительно нечего показать, что актуально.Если вы хотите получить более подробную информацию, просто спросите.Я сделаю все возможное, чтобы уточнить мою проблему.

1 Ответ

0 голосов
/ 14 февраля 2019

Это должно сделать работу за вас:

private void SaveString(string data)
{
    var byteData = Encoding.UTF8.GetBytes(data);

    var saveFileDialog = new SaveFileDialog
    {
        DefaultExt = "json",
        AddExtension = true,
        Filter = "JSON|*.json"
    };

    if (saveFileDialog.ShowDialog() != DialogResult.OK || 
        string.IsNullOrEmpty(saveFileDialog.FileName)) return;

    using (var saveFileDialogStream = saveFileDialog.OpenFile())
    {
        saveFileDialogStream.Write(byteData, 0, byteData.Length);
    }
}
...