Linux

dd 命令:

dd if=/dev/zero of=<fileName> bs=<一次复制的大小> count=<复制的次数>

生成 50 MB 的空文件:

dd if=/dev/zero of=50M-.txt bs=1M count=

Windows

fsutil 命令:

fsutil file createnew <fileName> <文件大小单位字节>

生成 10MB 的空文件:

fsutil file createnew 10M-.txt 

Java

用 FileChannel 的 write 方法:

在指定位置插入一个空字符,这个指定的位置下标即生成目标文件的大小,单位为字节

    private static void createFixLengthFile(File file, long length) throws IOException {
FileOutputStream fos = null;
FileChannel outC = null;
try {
fos = new FileOutputStream(file);
outC = fos.getChannel();
// 从给定的文件位置开始,将字节序列从给定缓冲区写入此通道
// ByteBuffer.allocate 分配一个新的字节缓冲区
outC.write(ByteBuffer.allocate(1), length - 1);
} finally {
try {
if (outC != null) {
outC.close();
}
if (fos != null) {
fos.close();
}
} catch (IOException e1) {
e1.printStackTrace();
}
}
}

第二种,用 RandomAccessFile 的 setLength 方法更为方便:

   private static void createFile(File file, long length) throws IOException {
RandomAccessFile r = null;
try {
r = new RandomAccessFile(file, "rw");
r.setLength(length);
} finally {
if (r != null) {
r.close();
}
}
}

参考资料:

java 瞬间快速创建固定大小文件,毫秒级。。。

Java、Linux、Win 快速生成指定大小的空文件的更多相关文章

  1. 使用Java创建指定大小的空文件夹

    /** 方法一 * 创建固定大小的文件 * @param file * @param length * @throws IOException */ public static void create ...

  2. linux生成指定大小的文件(转)

    # dd if=/dev/zero of=50M.file bs=1M count=50在当前目录下生成一个50M的文件 虚拟块设备文件更通用的名称是硬盘镜像文件(Hard Disk Image),但 ...

  3. PHP 生成指定大小随机图片

    PHP 生成指定大小随机图片 <?php $image_width = 100; $image_height = 100; $image_str = ''; if (isset($_GET['w ...

  4. java 压缩文件 传入文件数组,压缩文件,在指定路径下生成指定文件名的压缩文件

    /** * 传入文件数组,压缩文件,在指定路径下生成指定文件名的压缩文件 * * @param files * 文件数组 * @param strZipName * 压缩文件路径及文件名 * @thr ...

  5. dd 生成指定大小文件

    d命令可以轻易实现创建指定大小的文件,如 dd if=/dev/zero of=test bs=1M count=1000 会生成一个1000M的test文件,文件内容为全0(因从/dev/zero中 ...

  6. 【linux】find删除指定时间之前的文件

    今天磁盘满了,想删掉一些老的日志文件.开始想写个python脚本,转念一想,可能shell脚本好点.结果发现,根本不用写脚本,一个find指令就可以解决问题了. 先上指令 -exec rm {} \; ...

  7. Java根据实体快速生成对象

    一.来源 在写代码时总是遇到下面这种情况: Account account = new Account(); account.setId(); account.setGmtCreate(); acco ...

  8. java保存动态代理生成的类的class文件

    启动时加: -Dsun.misc.ProxyGenerator.saveGeneratedFiles=true

  9. shell 清空指定大小的日志文件

    #!/bin/bash # 当/var/log/syslog大于68B时 if ! [ -f /var/log/syslog ] then echo "file not exist!&quo ...

随机推荐

  1. 前端解读控制反转(IOC)

    前言 随着前端承担的职责越来越重,前端应用向着复杂化.规模化的方向发展.大型项目模块化是一种趋势,不可避免模块之间要相互依赖,此外还有很多第三方包.这样的话如何去管理这些繁杂的文件,是一个不可避免的话 ...

  2. vue 如何拿到后台传回的富文本中的img,进行9宫格排列展示以及相关处理

    描述: res.data.list 返回的数组, 数组中的每个对象有一个 content,就是传回来的富文本的内容,要拿到这里面的所有的img,进行9宫格排列处理: 1.let img = this. ...

  3. C# DataTable分页函数

    /// <summary> /// 对DataTable进行分页,起始页为1 /// </summary> /// <param name="dt"& ...

  4. BZOJ.4245.[ONTAK2015]OR-XOR(贪心)

    题目链接 从高到低位贪心,判断答案的该位能否为0. 求一个前缀和sum.对于最高位,答案的这一位可以为0当且仅当至少存在m个位置满足sum[i]在这一位上为0. 注意sum[n]这一位必须为0. 如果 ...

  5. python计算文件夹大小——os.walk

    下面提供一种利用os.walk()快捷的计算指定文件夹大小的方法 话不多说,直接上代码 简略版: import os def get_file_size(file_path, size=0): for ...

  6. 关于redis与memcached区别(转载自stackoverflow)

    转载自:http://stackoverflow.com/questions/10558465/memcached-vs-redis Updated 10/9/2014 Today marks the ...

  7. 2016年3月4日Android实习笔记

    1.让水平LinearLayout中的两个子元素分别居左和居右 在LinearLayout中有两个子元素,LinearLayout的orientation是horizontal.需要让第一个元素居左, ...

  8. 20172302 《Java软件结构与数据结构》实验三:查找与排序实验报告

    课程:<Java软件结构与数据结构> 班级: 1723 姓名: 侯泽洋 学号:20172302 实验教师:王志强老师 实验日期:2018年11月19日 必修/选修: 必修 实验内容 (1) ...

  9. ssm中的某些异常

    ---恢复内容开始--- (1)java.lang.NoClassDefFoundError: org/springframework/transaction/interceptor/Transact ...

  10. (转)Java atomic原子类的使用方法和原理(一)

    在讲atomic原子类之前先看一个小例子: public class UseAtomic { public static void main(String[] args) { AtomicIntege ...