Even if we delete / format the hard disk the data can still be recovered, it is all ways better to fill some random data and deleting the same is good, so I have written a small program for the same.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace FillRandomDataOnDisk
{
public partial class FormMain : Form
{
String SelectedPath;
public FormMain()
{
InitializeComponent();
}
private void FormMain_Load(object sender, EventArgs e)
{
LoadDrives();
}
private void LoadDrives()
{
foreach (DriveInfo drive in DriveInfo.GetDrives())
{
if (drive.IsReady)
{
this.comboBoxDrives.Items.Add(drive.Name);
}
}
}
private void buttonBrowse_Click(object sender, EventArgs e)
{
FolderBrowserDialog f = new FolderBrowserDialog();
f.ShowDialog();
SelectedPath = f.SelectedPath;
textBoxFolderPath.Text = SelectedPath;
}
private void comboBoxDrives_SelectedIndexChanged(object sender, EventArgs e)
{
string SelectedDrive = comboBoxDrives.SelectedItem.ToString();
foreach (DriveInfo drive in DriveInfo.GetDrives())
{
if (drive.IsReady && drive.Name == SelectedDrive)
{
long GB = drive.TotalFreeSpace / 1073741824;
textBoxAvailableSpace.Text = GB.ToString() + " GB";
return;
}
}
}
private void buttonStart_Click(object sender, EventArgs e)
{
long MinFreeSpace = 1;
long FreeDiskSpace = GetCurrentDriveFreeSpace();
while (FreeDiskSpace > MinFreeSpace)
{
CreateRandomByteFile1();
FreeDiskSpace = GetCurrentDriveFreeSpace();
}
MessageBox.Show("Done");
}
private long GetCurrentDriveFreeSpace()
{
long FreeSpace = 0;
string SelectedDrive = comboBoxDrives.SelectedItem.ToString();
foreach (DriveInfo drive in DriveInfo.GetDrives())
{
if (drive.IsReady && drive.Name == SelectedDrive)
{
FreeSpace = drive.TotalFreeSpace / 1073741824;
return FreeSpace;
}
}
return FreeSpace;
}
public void CreateRandomByteFile1()
{
string FileName = DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString();
FileName = SelectedPath + "\\" + FileName + ".txt";
int sizeInMB = 256;
byte[] data = new byte[8192];
Random rng = new Random();
using (FileStream stream = File.OpenWrite(FileName))
{
for (int i = 0; i < sizeInMB * 128; i++)
{
rng.NextBytes(data);
stream.Write(data, 0, data.Length);
}
}
}
// end
}
}
No comments:
Post a Comment