private void txtFileSize_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 0x20) e.KeyChar = (char)0; //禁止空格键
//if ((e.KeyChar == 0x2D) && (((TextBox)sender).Text.Length == 0)) return; //处理负数
if (e.KeyChar > 0x20)
{
try
{
double.Parse(((TextBox)sender).Text + e.KeyChar.ToString());
}
catch
{
e.KeyChar = (char)0; //处理非法字符
}
}
}
private void btnCreate_Click(object sender, EventArgs e)
{
string fileSizeStr = txtFileSize.Text;
if (string.IsNullOrEmpty(fileSizeStr))
{
MessageBox.Show("请填写文件大小");
return;
}
Double fileSize = 0;
if (!Double.TryParse(fileSizeStr, out fileSize))
{
MessageBox.Show("文件大小必须为数字");
return;
}
if (fileSize<=0)
{
MessageBox.Show("文件大小必须为大于0的数字");
return;
}
long num =Convert.ToInt64(fileSize*1024*1024);
SaveFileDialog saveFile1 = new SaveFileDialog();
saveFile1.Filter = "文本文件(.txt)|*.txt";
saveFile1.FilterIndex = 1;
if (saveFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK && saveFile1.FileName.Length > 0)
{
System.IO.StreamWriter sw = new System.IO.StreamWriter(saveFile1.FileName, false);
try
{ sw.WriteLine(fileSizeStr + "M");
// //只要这里改一下要输出的内容就可以了
}
catch
{
MessageBox.Show("生成失败");
}
finally
{
sw.Close();
}
FileStream fs = new FileStream(saveFile1.FileName, FileMode.Append);
try
{
fs.SetLength(num);
}
catch
{
MessageBox.Show("生成失败");
}
finally
{
fs.Close();
}
MessageBox.Show("生成成功");
}
}
上面是比较简单的,直接修改文件大小
下面是比较负责的,真实的写入内容
private void btnCreateFile2_Click(object sender, EventArgs e)
{
string fileSizeStr = txtFileSize.Text;
if (string.IsNullOrEmpty(fileSizeStr))
{
MessageBox.Show("请填写文件大小");
return;
}
Double fileSize = 0;
if (!Double.TryParse(fileSizeStr, out fileSize))
{
MessageBox.Show("文件大小必须为数字");
return;
}
if (fileSize <= 0)
{
MessageBox.Show("文件大小必须为大于0的数字");
return;
}
long num = Convert.ToInt64(fileSize * 1024 * 1024);
SaveFileDialog saveFile1 = new SaveFileDialog();
saveFile1.Filter = "文本文件(.txt)|*.txt";
saveFile1.FilterIndex = 1;
if (saveFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK && saveFile1.FileName.Length > 0)
{
System.IO.StreamWriter sw = new System.IO.StreamWriter(saveFile1.FileName, false);
try
{
sw.WriteLine(fileSizeStr + "M");
// //只要这里改一下要输出的内容就可以了
}
catch
{
MessageBox.Show("生成失败");
}
finally
{
sw.Close();
}
FileStream fs = new FileStream(saveFile1.FileName, FileMode.Append);
try
{
if (fs.Length < num)
{
long byteSize = num - fs.Length;
byte[] byteArray = new byte[byteSize];
fs.Write(byteArray, 0, byteArray.Length);
}
}
catch
{
MessageBox.Show("生成失败");
}
finally
{
fs.Close();
}
MessageBox.Show("生成成功");
}
}