-1

私はC#を使用していますが、私のコードはいくつかのファイルを読み取って移動しています。問題は、読み取って他のフォルダに移動するファイルがそれほど多くないことです。しかし、一度に500,1000以上のファイルでコードをテストしたいと思います。

私は自分ですべてのファイルを作成することができました->それほど賢くはありません。これらのファイルを生成して、このための独自のコードを書くことができます->動作する可能性がありますが、もっと簡単な方法はありませんか?たぶん、開発者がテストファイルを作成するためのツールがすでにいくつかありますか?または、c#/。netに別の解決策がありますか?

PS:ああ言うのを忘れた-私は通常のASCIIファイルを読んでいます。後で、可能であれば「csvのような」ファイル(「;」で分割された文字列)を作成したいと思います。

4

2 に答える 2

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));
            }
        }
    }
于 2012-07-23T11:21:46.143 に答える
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));
        }
于 2012-07-23T11:42:38.603 に答える