Java、Linux、Win 快速生成指定大小的空文件

Linux

dd 命令:

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

生成 50 MB 的空文件:

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

Windows

fsutil 命令:

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

生成 10MB 的空文件:

fsutil file createnew 10M-1.txt 10485760

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();
            }
        }
   }

参考资料:

http://jk-t.iteye.com/blog/1930414

原文地址:https://www.cnblogs.com/zhengbin/p/8421519.html

时间: 2024-11-09 00:34:04

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

创建指定大小的空文件

1 BOOL CreateFileDemo(TCHAR* pFileName, DWORD dwSize) 2 { 3 HANDLE hFile; 4 HANDLE hMapFile; 5 6 hFile = CreateFile( 7 pFileName, 8 GENERIC_WRITE | GENERIC_READ, 9 FILE_SHARE_READ, 10 NULL, 11 CREATE_ALWAYS, 12 FILE_ATTRIBUTE_NORMAL, 13 NULL 14 ); 15

PHP 生成指定大小随机图片

PHP 生成指定大小随机图片 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 <?php $image_width = 100; $image_height = 100; $image_str = ''; if (isset($_GET[

JAVA之IO技术-获取指定目录下的文件夹和文件的File对象或是字符串名称。

package ioTest.io3; /* * 获取指定目录下的文件夹和文件的File对象或是字符串名称. * 也可以通过filter获取指定的文件夹或者指定类型的文件 * 这里面需要做一个总结,如何利用jdk的源码去理解不熟悉的方法的应用. */ import java.io.File; import java.io.FileFilter; import java.io.FilenameFilter; public class FileDemo2 { public static void m

Linux技巧——用dd生成指定大小的文件

我们在测试或调试的时候,有时候会需要生成某个size的文件,比如在测试存储系统时,需要将磁盘剩余空间减少5G,最简单的办法就是拷贝一个5G的文件过来,但是从哪儿去弄这样大小的文件呢,或许你想到随便找一个文件,不停的拷贝,最后合并,这也不失为一种办法,但是有了dd,你会更容易且更灵活的实现 我们来case by case的介绍dd的用法.先看第一个 生成一个大小为5G的文件,内容不做要求 命令如下 $ dd if=/dev/zero of=tmp.5G bs=1G count=5 解释一下这里用到

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

今天磁盘满了,想删掉一些老的日志文件.开始想写个python脚本,转念一想,可能shell脚本好点.结果发现,根本不用写脚本,一个find指令就可以解决问题了. 先上指令 find . -type f -name *.log -mtime +180 -exec rm {} \; 解析: find 后面紧跟的是要查找的目录,. 表示当前目录 -type f:指定查找对象为文件 -name *.log:指定查找对象名称以.log结尾 -mtime +180: 查找180天以前的老文件 -exec r

生成指定大小文件用于测试

#生成十个文件从1M到10M for i in range(1,11): with open(str(i)+"M.txt","w") as f: f.write(i*1024 * 1024 * '0')

linux shell命令设置内存大小运行jar文件

一:没有设置前  .sh文件内容: 举例: nohup java -jar -Ddubbo.protocol.host=127.0.0.1 paycenter-bank.jar & 二:需要添加的内存启动配置: -Xms2048m -Xmx4096m -XX:PermSize=512M -XX:MaxPermSize=4096m 三:添加后的 .sh文件内容 nohup java -jar -Xms2048m -Xmx4096m -XX:PermSize=512M -XX:MaxPermSize

python 按照日期切分大日志文件(重点)和按照指定大小切分日志文件

#! /usr/bin/env python # -*- coding:utf8 -*- # 切分nginx 按照日期切分日志文件 from __future__ import division import os,sys big_file='/data/logs/media.net.error.log' # 按照文件大小拆分 def split_by_filesize(fromfile,todir,chunksize=0): """ chunksize: 字节建议每100M

java打印出某一指定路径下的文件夹内的所有子文件夹和文件,并区分开来

public class printoutFile { public static void main(String[] args) { printFile(new File("D:\\test"),1); } public static void printFile(File file,int sub) { if (file.isFile()) { System.out.println("您给定的是一个文件"); // 判断给定目录是否是一个合法的目录,如果不是,