Обратите внимание, что ваш код не оптимизирован и имеет много ненужных потоков и буферов, но ответ от @Michael описывает правильный код для использования в нем. Мой ответ просто подчеркнет, почему ваш код не работал по-своему.
Ответ на ваш вопрос на самом деле очень прост.
StreamWriter sw = new StreamWriter("../.." + fileLotto + ".txt");
Вы забыли добавить /
в строку в ../ ..
. Если предполагается, что fileLotto
имеет значение example
, тогда FileStream
создаст файл example.txt
, но < code> StreamWriter получит доступ к .. example.txt
для записи, а также в другой папке.
Используйте переменные для определения значений, которые необходимо повторить. Помните принцип DRY.
Random random = new Random();
Console.WriteLine("Please enter the name of the numbers file");
string fileLotto = Console.ReadLine();
string fileName = "../../" + fileLotto + ".txt";
//creating the lotto file
FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write);
Console.WriteLine("File created");
fs.Close();
StreamWriter sw = new StreamWriter(fileName);
for(int i = 0; i < 6; i++)
{
for(int j = 0; j < 7; j++)
{
//Console.Write(random.Next(1, 49));
sw.Write(random.Next(1, 49) + " " );
}
Console.WriteLine();
}
sw.Close();
Снова я говорю, пожалуйста, используйте код Майкла. Это просто подчеркнуть основную проблему с вашим кодом.