• Linux Windows Java 快速生成指定大小的空文件


    背景介绍

    本文讲述了linux系统、windows系统,以及java语言快速生成制定大小空文件的方法,供大家学习参考。

    正文

    1.Linux系统

    dd命令

    of:fileName为文件名称,例如test.txt ;

    bs:设置一次复制的大小,例如1M;

    count:设置复制次数,例如50;

    # 语法
    dd if=/dev/zero of=<fileName> bs=<一次复制的大小> count=<复制的次数>
    # 示例
    dd if=/dev/zero of=1.txt bs=1M count=50

    2.windows系统

    win+r 出现命令框输入cmd,然后输入如下示例代码:

    fsutil命令

    # 语法
    fsutil file createnew <fileName> <文件大小单位字节>
    # 示例
    fsutil file createnew text.txt 52428800

    3.java快速生成:

    1.用 FileChannel 的 write 方法:

    2.用 RandomAccessFile 的 setLength 方法(此方法更为简便,生成大文件是耗时更短):

    public class Test {
        public static void main(String[] args) throws IOException {
            File file = new File("C:\Users\Administrator\50.txt");
            long length = 1024*1024*50;
            //createFixLengthFile(file, length);
            createFile(file, length);
        }
     
        /**
         * 创建固定大小的文件第一种方法
         *
         * @param file
         * @param length
         * @throws IOException
         */
        public static void createFixLengthFile(File file, long length) throws IOException 
        {
            FileOutputStream fos = null;
            FileChannel output = null;
            try {
                fos = new FileOutputStream(file);
                output = fos.getChannel();
                output.write(ByteBuffer.allocate(1), length - 1);
            } finally {
                try {
                    if (output != null) {
                        output.close();
                    }
                    if (fos != null) {
                        fos.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
     
         /**
         * 创建固定大小的文件第二种方法
         *
         * @param file
         * @param length
         * @throws IOException
         */
        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();
                }
            }
        }
  • 相关阅读:
    SpringBoot之Banner介绍
    SpringBoot事件监听机制
    SpringBoot 启动流程图
    ApplicationContextInitializer的理解和使用
    SpringFactoriesLoader解析
    计时器之StopWatch
    ftp上下载文件
    打印两个函数的返回值
    关闭所有已打开的文件和关闭应用
    TypeError: include() got an unexpected keyword argument 'app_name'
  • 原文地址:https://www.cnblogs.com/chenshengkai/p/13894257.html
Copyright © 2020-2023  润新知