![見出し画像](https://assets.st-note.com/production/uploads/images/157671268/rectangle_large_type_2_79a533c41c2e054e669b18cd3cbf6033.png?width=1200)
C#でダミーデータを作成する
C#でサイズを指定してダミーのデータを作成するためのコード。
サイズが大きくなると処理がだんだん遅くなっていくのは要修正。
//cs
var gbSize = 1; //1GB
var fileName = "dummy.dat";
var fileSize = (long)(gbSize * 1024 * 1024 * 1024); // GB -> Byte
var chunkSize = 1024 * 1024; // 1MBのチャンクサイズ
var totalChunks = fileSize / chunkSize; // ファイルサイズを1MBのチャンクに分割
var buffer = new byte[chunkSize];
var random = new Random();
try
{
using (var fs = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.None))
{
for (long i = 0; i < totalChunks; i++)
{
random.NextBytes(buffer); // ランダムなデータを生成
fs.Write(buffer, 0, buffer.Length); // ファイルに書き込む
// 進捗を定期的にログ出力(100回ごとに表示)
if (i % 100 == 0)
{
var writtenMB = (i * chunkSize) / (1024 * 1024); // MB単位で計算
Console.WriteLine($"progress: {writtenMB} MB written.");
}
}
// ファイルサイズが割り切れない場合の処理
var remainingBytes = fileSize % chunkSize;
if (remainingBytes > 0)
{
buffer = new byte[remainingBytes];
random.NextBytes(buffer);
fs.Write(buffer, 0, buffer.Length);
}
}
Console.WriteLine($"dummy data: {devValue}GB written to {fileName}");
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
return 0;