文件操作——linux快速创建大文件的方法
来源:互联网 发布:java最新官网下载地址 编辑:程序博客网 时间:2024/04/29 04:02
还记得去年在准备某公司的笔试时遇到了一道题目,题目中要求”快速创建1G的大文件“,后面的要求这里暂且就省略了。如何快速创建指定大小的大文件呢?可能有很多种办法,这里提供两种办法。
1、利用dd命令操作创建文件
//结合C语言,可以使用system函数调用shell命令char *shell = "dd if=/dev/zero of=test.txt bs=1K count=1024";system(shell);
其中 if=输入的文件,of=输出文件,bs=块大小 ,count=块数量。
bs和count的单位设置,man函数中提及如下,查看完整参数请参见Manuel手册:
BLOCKS and BYTES may be followed by the following multiplicative suf‐fixes: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M=1024*1024, xM =M GB =1000*1000*1000, G=1024*1024*1024, and so on for T, P, E, Z, Y.
2、利用文件操作的文件指针移位产生空洞文件
这里指的是将文件指针移动到距离文件头指定大小的地方,再进行写操作(注意,这里移动完文件位移量后一定要写点东西,否则无效)
int main(void){ int fd ; fd = open("test.txt" , O_CREAT|O_RDWR , 0777); if( fd < 0) { printf("open file error\n"); return 0; } //为了创建一个大小为3M的文件,我们先少创建2个字节,然后在写文件的时候补充2字节 lseek(fd , 1024 * 1024 *3 -2, L_SET); write(fd , "e" , 1); close(fd); return 0 ;}
0 0
- 文件操作——linux快速创建大文件的方法
- Windows快速创建大文件的三种方法
- 快速创建大文件
- 快速创建大文件
- 快速创建大文件
- NDK快速创建大文件
- 如何快速创建大文件
- windows 快速创建大文件
- fallocate快速创建大文件
- 一种快速加载大文件的方法
- linux创建大文件
- 快速操作(复制,移动)文件的方法
- linux快速生成大文件
- Linux C 下的大文件操作
- Linux文件简单了解及文件的创建操作操作
- linux下快速上传文件的方法
- linux下创建大文件
- windows下快速创建大文件
- 计算机更新这么快,怎么编程语言还是二十多年前的?
- Xcode错误:Embedded binary's bundle identifier is not prefixed with the parent app's bundle identifier
- 哪些你熟知的重要知识或方法,外人却常常因不了解而陷入困境?
- c#学习 3/22 关系运算符
- IDL 简述
- 文件操作——linux快速创建大文件的方法
- 2016 CCPC 杭州站 总结
- vxworks基本说明
- 操作系统
- 白话经典算法系列之六 快速排序
- 关于如何用rem兼容不同手机屏幕大小不一致问题以达到多终端自适应问题
- HBase 系统架构
- 读《互联网:一部概念史》有感
- c#学习 4/22 循坏与异常捕获