我正在尝试测试一些我刚刚编写的流文件上传/下载代码,但我需要一个巨大的(比我的内存大,如> 4GB)文件来测试.什么是快速生成特定大小的文件(但内部没有特定数据)的好方法?
我知道我可以在我的硬盘上查看一个适当大小的文件,但我很好奇是否还有其他好方法可以生成测试文件,特别是如果我想要一个特定的大小.下载文件也不好,因为我的连接速度很慢.
在Unix上这很简单:
head -c/dev/random > bigfile.dat
因此,对于4千兆字节,这大约是:
head -c 4294967296 /dev/random > bigfile.dat
在*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
这会在开头创建一个大小为4GB - 1的文件的文件.该漏洞不会占用文件系统块.您甚至可以创建太大而无法放入文件系统的稀疏文件.从洞中读取会返回零.
在Windows上,您还可以使用以下fsutil
命令:
Usage : fsutil file createnewEg : fsutil file createnew C:\testfile.txt 1000
这将创建一个testfile.txt
大小为1,000字节的文件.如果重要的话,该文件只包含NUL.