我想将随机数写入文本文件。
但是当我尝试写随机数时,我能够写入49个数字,然后超过49,它会覆盖所有数字。 我在下面附上我的代码。请告诉我我该怎么做?
public void CreateRandomData(int lowerRange, int upperRange)
{
Random r = new Random();
int number = 0;
using (StreamWriter writer = File.AppendText(@"c:\\test.txt"))
{
for (int i = 1; i < 100; i++)
{
number = r.Next(lowerRange, upperRange);
writer.Write(number + ",");
}
}
}
答案 0 :(得分:2)
你知道你可以这样做并简化:
public void CreateRandomData(int lowerRange, int upperRange)
{
Random r = new Random();
File.AppendAllText(@"c:\\test.txt", String.Join(",", Enumerable.Range(0, 100)
.Select(n => r.Next(lowerRange, upperRange))));
}
答案 1 :(得分:0)
好的,你的代码有一些奇怪的东西,但主要似乎是每次运行程序时都会覆盖文件
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.IO;
using System.Text;
namespace UnitTestProject3
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
int lowerRange = 1;
int upperRange = 10;
string filename = @"c:\\development\test.txt";
Random r = new Random();
int number = 0;
using (StreamWriter writer = new StreamWriter(filename, false, Encoding.UTF8))
{
for (int i = 1; i < 500; i++)
{
number = r.Next(lowerRange, upperRange);
writer.Write(number + ",");
}
writer.Flush();
writer.Close();
}
}
}
}
其他读者请注意:
写这篇文章的时候,我注意到当你在记事本中打开附加文件时,File.Append会产生奇怪的结果。附加数据但文件显示已损坏。
我认为这是由于作者没有正确刷新或关闭或使用错误的编码。
然而,由于上述代码无论出于何种原因而无法使用File.Append
,我并没有真正深入到底。