我正在使用C#,我的代码正在读取并移动一些文件。问题是,没有那么多文件可以读取并将它们移动到其他文件夹。但我想一次用500,1000或更多文件测试我的代码。
我可以自己创建每个文件 - >不那么聪明我可以生成这些文件并为此编写自己的代码 - >可以工作,但有没有更简单的方法?也许已经有一些工具可供开发人员创建测试文件了?或者在c#/ .net中有另一种解决方案吗?
PS:啊忘了说 - 我正在阅读正常的ascii文件。如果可能的话,我想创建“csv-like”文件(字符串splittet by“;”)。答案 0 :(得分:4)
此代码将创建任意数量的文件,每个文件具有任意数量的行,每行包含任意数量的逗号分隔的随机整数值。
我希望它能让您开始为您的应用程序创建一些测试数据。
static void Main(string[] args)
{
int numFiles = 30;
for (int fileIndex = 0; fileIndex < numFiles; fileIndex++)
{
string randomFileName = Path.Combine(@"c:\temp", Path.GetRandomFileName() + ".csv");
GenerateTestFile(randomFileName, 20, 10);
}
}
static void GenerateTestFile(string fileName, int numLines, int numValues)
{
int[] values = new int[numValues];
Random random = new Random(DateTime.Now.Millisecond);
FileInfo f = new FileInfo(fileName);
using (TextWriter fs = f.CreateText())
{
for (int lineIndex = 0; lineIndex < numLines; lineIndex++)
{
for (int valIndex = 0; valIndex < values.Length; valIndex++)
{
values[valIndex] = random.Next(100);
}
fs.WriteLine(string.Join(",", values));
}
}
}
答案 1 :(得分:1)
var yourSampleTextStringArray = new[]{"dada","dada","aaa"/*.....*/};
var rnd = new Random();
for (int i = 0; i < 10e3; i++)
{
var temp = Path.GetTempFileName();
File.WriteAllLines(temp, yourSampleTextStringArray.Where(line => rnd.NextDouble() > 0.5));
}