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. PushBackInputStream回退流

    [例子1] import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.PushbackInputS ...

  2. Linux 输入子系统驱动程序范例

    <按键驱动程序> #include <stdio.h> #include <fcntl.h> #include <linux/input.h> #inc ...

  3. BZOJ.1875.[SDOI2009]HH去散步(DP 矩阵乘法)

    题目链接 比较容易想到用f[i][j]表示走了i步后到达j点的方案数,但是题目要求不能走上一条走过的边 如果这样表示是不好转移的 可以考虑边,f[i][j]表示走了i步后到达第j条边的方案数,那么有 ...

  4. wamp memcache 的安装与扩展(Windows 64)

    一.windows操作系统下的memcache安装 1.此处提供32位的安装包链接,如果需要64位的应该可惜查得到.将下载的压缩包解压到自己确定的安装目录,我的参考如下: 2.为了安装顺利,所以需要以 ...

  5. Android日志工具的使用

    一.使用Android的日志工具Log 1.Android中的日志工具类是Log,这个类中提供了如下5个方法来供我们打印日志. log.v():用于打印哪些最为繁琐.意义最小的日志信息.对应级别ver ...

  6. 安装 Keepalived

    安装环境 [root@node1 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@node1 ~]# cat /proc/v ...

  7. [Asp.net core]bootstrap分页

    摘要 一直在用前后端分离,在一个后台管理的页面中,尝试封装了一个辅助类. 类 /// <summary> /// 分页viewmodel /// </summary> /// ...

  8. Android的Databinding-普通绑定

    1. 使用ActivityBasicBinding binding = DataBindingUtil.setContentView(this, R.layout.main);代替之前使用的setCo ...

  9. c++数组的引用

    引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样.引用的声明方法:类型标识符 &引用名=目标变量名: 引用最大的好处就是提高函数效率以及节省空间; 关键问题一.传递引用 ...

  10. Redis进阶之redis的生命周期

    D:\Redis-x64-3.2.100>redis-cli.exe -h 127.0.0.1 -p 6379127.0.0.1:6379> set aa "123"( ...