gpt4 book ai didi

c# - 将数据写入文本文件

转载 作者:行者123 更新时间:2023-11-30 22:21:53 25 4
gpt4 key购买 nike

我有一个简单的程序,我将 7 个数字中的 6 个写入文本文件。从逻辑上讲,一切似乎都很好。

但是数字没有按预期写入文件。

Random random = new Random();

Console.WriteLine("Please enter the name of the numbers file");
string fileLotto = Console.ReadLine();
//creating the lotto file
FileStream fs = new FileStream("../../" + fileLotto + ".txt", FileMode.OpenOrCreate, FileAccess.Write);
BufferedStream bs = new BufferedStream(fs);
Console.WriteLine("File created");
fs.Close();
StreamWriter sw = new StreamWriter("../.." + fileLotto + ".txt");

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) + " " );

}
sw.WriteLine();

}
sw.Close();

文件已创建,但是没有向文件写入数字...建议可能是为什么?

最佳答案

请注意,您的代码未优化,并且创建了许多不必要的流和缓冲区,但@Michael 的回答概述了在其位置使用的正确代码。我的回答只会强调为什么您的代码没有按预期方式工作。

其实你的问题的答案很简单。

StreamWriter sw = new StreamWriter("../.." + fileLotto + ".txt");

您忘记将字符串中的/ 添加到../..。如果假定 fileLotto 的值为 example,则 FileStream 将创建文件 example.txtStreamWriter 将访问 ..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();

我再说一遍,请使用@Michael 的代码。这只是为了突出您的代码的主要问题。

关于c# - 将数据写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14069642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com