开发一个测试工具,需要批量生成随机大小随机内容的二进制文件

lisa9342 2012-04-27 02:38:57
各位朋友好!我刚刚注册的,这是我的第一个帖,我现在应该没有积分可以给你们,但是希望你们可以帮我看看这个问题,以后一定多多交流,给分绝不小气!
要求是这样的,我们需要测试一个从串口读文件、并通过TCP发送到FTP服务器的设备,测试发送文件的正确性和稳定性,所以该测试工具不需要生成.doc\.excel\.txt\.pdf……等等格式,只需要能批量生成二进制文件就可以,我刚入行不久,经验不多,还请各位回复的时候尽量详细易懂一点,如果有示例代码贴出来便更好!多谢了!
...全文
302 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2012-04-27
  • 打赏
  • 举报
回复
不过还是推荐你用WinHEX。虽然我会程序,都经常用它产生些随机文件。
lisa9342 2012-04-27
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]

随便你。dat就是data啦。当然你也可以换成别的。
[/Quote]非常感谢!!!
threenewbee 2012-04-27
  • 打赏
  • 举报
回复
随便你。dat就是data啦。当然你也可以换成别的。
lisa9342 2012-04-27
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

新建一个控制台程序,把里面产生的代码全部删除,粘贴:
C# code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void……
[/Quote]谢谢您这么耐心,我编译了,在C盘根目录下找到了random.dat文件,这只是一个文件对吗?然后我在这个基础上批量生成是吗?还有哦,.dat是什么意思啊,怎么不是.bin呀?
lisa9342 2012-04-27
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

这...我想问问你是做啥滴
引用 8 楼 的回复:

真不好意思!我很菜鸟,希望您能谅解,我也觉得这段代码很奇怪,怎么var关键字用来声明了一个方法?而且还有个using的方法?
[/Quote]我初学C#……头儿要锻炼我,就丢给我一个测试工具让我开发,请谅解,我会慢慢进步的
smilereeves 2012-04-27
  • 打赏
  • 举报
回复
这...我想问问你是做啥滴
[Quote=引用 8 楼 的回复:]

真不好意思!我很菜鸟,希望您能谅解,我也觉得这段代码很奇怪,怎么var关键字用来声明了一个方法?而且还有个using的方法?
[/Quote]
lisa9342 2012-04-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

额,这东西不是这么搞滴,我们实际不会生成文件,我们只会在内存生成一串随机字符发送
一般只需要验证md5特征码,或者干脆每隔一段加一个crc校验码即可
[/Quote]我是想用MD5值来验证发送文件和接收文件的正确性的,实际不会生成文件?那我的发送目录里面不就不会放入文件了,我的设备是要去指定发送目录(也就是生成文件的目录)去取文件然后发给FTP服务器的……
threenewbee 2012-04-27
  • 打赏
  • 举报
回复
新建一个控制台程序,把里面产生的代码全部删除,粘贴:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string filename = "c:\\random.dat";
Random r = new Random(Guid.NewGuid().ToString().GetHashCode());
int size = r.Next(1000, 2000) * 1024; // size = 1~2MB
byte[] buffer = new byte[size];
r.NextBytes(buffer);
using (System.IO.FileStream fs = new System.IO.FileStream(filename, System.IO.FileMode.Create))
{
fs.Write(buffer, 0, size);
}
}
}
}

再编译。
lisa9342 2012-04-27
  • 打赏
  • 举报
回复
真不好意思!我很菜鸟,希望您能谅解,我也觉得这段代码很奇怪,怎么var关键字用来声明了一个方法?而且还有个using的方法?
threenewbee 2012-04-27
  • 打赏
  • 举报
回复
你得把它粘帖到一个方法中,而不是粘帖到类的定义中。

如果身边有懂C#的人,让他协助你一下。
wanghui0380 2012-04-27
  • 打赏
  • 举报
回复
额,这东西不是这么搞滴,我们实际不会生成文件,我们只会在内存生成一串随机字符发送
一般只需要验证md5特征码,或者干脆每隔一段加一个crc校验码即可
lisa9342 2012-04-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

C# code
string filename = "c:\\random.dat";
var r = new Random(Guid.NewGuid().ToString().GetHashCode());
int size = r.Next(1000, 2000) * 1024; // size = 1~2MB
byte[] buffer = new byte[size];
r.NextB……
[/Quote]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace VTTester
{
class FileStreamCreat
{
string filename = "c:\\random.dat";
var r = new Random(Guid.NewGuid().ToString().GetHashCode());
int size = r.Next(1000, 2000) * 1024; // size = 1~2MB
byte[] buffer = new byte[size];
r.NextBytes(buffer);
using (System.IO.FileStream fs = new System.IO.FileStream(filename, System.IO.FileMode.Create))
{
fs.Write(buffer, 0, size);
}
}
}
这是我把你的代码直接贴进工程里,下面是错误:
错误 1 类、结构或接口成员声明中的标记“(”无效 D:\VT\07-测试\VTTester\VTTester\FileStreamCreat.cs 14 20 VTTester
错误 2 类、结构或接口成员声明中的标记“)”无效 D:\VT\07-测试\VTTester\VTTester\FileStreamCreat.cs 14 27 VTTester
错误 3 应输入 ; D:\VT\07-测试\VTTester\VTTester\FileStreamCreat.cs 15 103 VTTester
错误 4 类、结构或接口成员声明中的标记“(”无效 D:\VT\07-测试\VTTester\VTTester\FileStreamCreat.cs 17 17 VTTester
错误 5 类、结构或接口成员声明中的标记“,”无效 D:\VT\07-测试\VTTester\VTTester\FileStreamCreat.cs 17 24 VTTester
错误 6 类、结构或接口成员声明中的标记“)”无效 D:\VT\07-测试\VTTester\VTTester\FileStreamCreat.cs 17 33 VTTester
错误 7 应输入类型、命名空间定义或文件尾 D:\VT\07-测试\VTTester\VTTester\FileStreamCreat.cs 20 1 VTTester
错误 8 未能找到类型或命名空间名称“var”(是否缺少 using 指令或程序集引用?) D:\VT\07-测试\VTTester\VTTester\FileStreamCreat.cs 11 9 VTTester
错误 9 字段初始值无法引用非静态字段、方法或属性“VTTester.FileStreamCreat.r” D:\VT\07-测试\VTTester\VTTester\FileStreamCreat.cs 12 20 VTTester
错误 10 字段初始值无法引用非静态字段、方法或属性“VTTester.FileStreamCreat.size” D:\VT\07-测试\VTTester\VTTester\FileStreamCreat.cs 13 34 VTTester
错误 11 “VTTester.FileStreamCreat.r”是“字段”,但此处被当做“类型”来使用 D:\VT\07-测试\VTTester\VTTester\FileStreamCreat.cs 14 9 VTTester
错误 12 “VTTester.FileStreamCreat.buffer”是“字段”,但此处被当做“类型”来使用 D:\VT\07-测试\VTTester\VTTester\FileStreamCreat.cs 14 21 VTTester
错误 13 字段初始值无法引用非静态字段、方法或属性“VTTester.FileStreamCreat.filename” D:\VT\07-测试\VTTester\VTTester\FileStreamCreat.cs 15 67 VTTester
错误 14 “VTTester.FileStreamCreat.fs”是“字段”,但此处被当做“类型”来使用 D:\VT\07-测试\VTTester\VTTester\FileStreamCreat.cs 17 9 VTTester
错误 15 “VTTester.FileStreamCreat.buffer”是“字段”,但此处被当做“类型”来使用 D:\VT\07-测试\VTTester\VTTester\FileStreamCreat.cs 17 18 VTTester
错误 16 “VTTester.FileStreamCreat.size”是“字段”,但此处被当做“类型”来使用 D:\VT\07-测试\VTTester\VTTester\FileStreamCreat.cs 17 29 VTTester
lisa9342 2012-04-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

C# code
string filename = "c:\\random.dat";
var r = new Random(Guid.NewGuid().ToString().GetHashCode());
int size = r.Next(1000, 2000) * 1024; // size = 1~2MB
byte[] buffer = new byte[size];
r.NextB……
[/Quote]谢谢!我研究一下回复您!
threenewbee 2012-04-27
  • 打赏
  • 举报
回复
string filename = "c:\\random.dat";
var r = new Random(Guid.NewGuid().ToString().GetHashCode());
int size = r.Next(1000, 2000) * 1024; // size = 1~2MB
byte[] buffer = new byte[size];
r.NextBytes(buffer);
using (System.IO.FileStream fs = new System.IO.FileStream(filename, System.IO.FileMode.Create))
{
fs.Write(buffer, 0, size);
}
lisa9342 2012-04-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

如果你只是需要产生几个这样的文件,没必要写程序。

可以用WinHex。

里面有一个自动用随机数填充块的功能。
[/Quote]谢谢回复!
需要批量生成,因为还要测试设备的稳定性,需要长时间批量生成发送文件直到出错再看设备存在什么问题,必须要写程序的
threenewbee 2012-04-27
  • 打赏
  • 举报
回复
如果你只是需要产生几个这样的文件,没必要写程序。

可以用WinHex。

里面有一个自动用随机数填充块的功能。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧