制作庞大的测试文件有什么好方法?

Dan*_*Lew 1 testing file

我正在尝试测试一些我刚刚编写的流文件上传/下载代码,但我需要一个巨大的(比我的内存大,如> 4GB)文件来测试.什么是快速生成特定大小的文件(但内部没有特定数据)的好方法?

我知道我可以在我的硬盘上查看一个适当大小的文件,但我很好奇是否还有其他好方法可以生成测试文件,特别是如果我想要一个特定的大小.下载文件也不好,因为我的连接速度很慢.

Seb*_*lis 9

在Unix上这很简单:

head -c <numbytes> /dev/random > bigfile.dat
Run Code Online (Sandbox Code Playgroud)

因此,对于4千兆字节,这大约是:

head -c 4294967296 /dev/random > bigfile.dat
Run Code Online (Sandbox Code Playgroud)


sig*_*ice 6

在*nix系统上,您可以创建一个几乎不使用任何实际磁盘空间的稀疏文件.

dd if=/dev/zero bs=1 seek=4294967295 count=1 of=4G
ls -l 4G
-rw-r--r-- 1 me wheel 4294967296 2009-04-01 13:28 4G
Run Code Online (Sandbox Code Playgroud)

这会在开头创建一个大小为4GB - 1的文件的文件.该漏洞不会占用文件系统块.您甚至可以创建太大而无法放入文件系统的稀疏文件.从洞中读取会返回零.


Pat*_*uff 5

在Windows上,您还可以使用以下fsutil命令:

Usage : fsutil file createnew <filename> <length>
   Eg : fsutil file createnew C:\testfile.txt 1000
Run Code Online (Sandbox Code Playgroud)

这将创建一个testfile.txt大小为1,000字节的文件.如果重要的话,该文件只包含NUL.