Невозможно сделать Сохранить Диалог Сохранить файл

1

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

вот что до сих пор:

 private void writeToFileButton_Click(object sender, EventArgs e)
        {
            //declare streamwriter object
            StreamWriter outputFile;
            outputFile = File.CreateText("Random.txt");

            //declare my counter, random object, and make variable to store user input
            Random rand = new Random();
            int desiredEntries;
            int.TryParse(numberOfEntriesTextbox.Text, out desiredEntries);
            int counter = 1;

            //take user input and generate numbers until user input is equal to counter
            while(counter <= desiredEntries)
            {
                outputFile.WriteLine(rand.Next(100));
                counter++;
            }

            //save resulting file in a txt document
            if (saveRandomFileDialog.ShowDialog() == DialogResult.OK)
            {
                outputFile = File.CreateText(saveRandomFileDialog.FileName);
            }

            else
            {
                MessageBox.Show("you suck");
            }
            outputFile.Close();
        }
  • 1
    Выдает ошибку или просто не сохраняет (т.е. показывает сообщение " you suck )?
  • 0
    Как я уже сказал выше, программа работает нормально после того, как я выбрал сохранение файла, поэтому он не показывает сообщение «Вы сосете» и не выдает исключение, но не сохраняет файл.
Показать ещё 1 комментарий
Теги:
visual-studio-2013

1 ответ

2
Лучший ответ

Вы открываете файл:

    outputFile = File.CreateText("Random.txt");

Напишитесь на этот файл, а затем после того, как вы напишете файл, вы спросите пользователя, где они хотят сохранить файл. Я вижу проблему здесь. :)

Замените указанную выше строку следующим:

        outputFile = File.CreateText(saveRandomFileDialog.FileName);

Редактировать:

В принципе, ваш код должен выглядеть так (я удалил вас сосать, но не стесняйтесь оскорблять своих пользователей, если хотите) :)

if (saveRandomFileDialog.ShowDialog() != DialogResult.OK) {
    return;                
}

using (StreamWriter outputFile = File.CreateText(saveRandomFileDialog.FileName)) {

    Random rand = new Random();
    int desiredEntries;
    int.TryParse(numberOfEntriesTextbox.Text, out desiredEntries);
    int counter = 1;

    while (counter <= desiredEntries) {
        outputFile.WriteLine(rand.Next(100));
        counter++;
    }
}
  • 0
    Когда я делаю это, Visual Studio выдает исключение
  • 0
    Какое исключение это будет?
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню