zoukankan      html  css  js  c++  java
  • 预先创建占用一定磁盘空间的文件(使用C#)

    Pre-Create a File occupies disk space (using C#)

    需要创建一个文件,占用1G,然后逐步往里面填数据,就像p2p下载时,先会预留一个未完成的大文件一样。

    使用FileStream

    一种是使用循环写的方法

    using (FileStream fs = File.Create(path))
    {
        fs.Write(
    new byte[size], 0, size);
    }

    相当于不停往文件里写入byte,使得文件大小正好为size。这个效率低,就像是不断的在txt文件中按空格,使得这个txt文件大小为规定的size。

    另一种是使用Seek方法

    using (FileStream fs = File.Create(path))
    {
        
    long offset = fs.Seek(size - 1, SeekOrigin.Begin);
        fs.WriteByte(
    new byte());
    }

    先使用FileStream中Seek方法。移动到流中的末尾,再填入一个byte。因为需要在填入一个byte,所以需要在末尾前一个位置,也就是 size-1 。这样一个占用size大小的磁盘文件就新建好了。效率高。相当于已经输入了 size-1 大小的空格的文件里,最后再输入一个空格,形成一个size大小的文件。

  • 相关阅读:
    CCF真题之Z字形扫描
    CCF真题之门禁系统
    A
    安装 Spring 框架库
    安装 Apache Commons Logging API步骤
    Manven下载
    669. 修剪二叉搜索树
    UnixLinux | 总结笔记 |文件系统
    561. 数组拆分 I
    620. 有趣的电影
  • 原文地址:https://www.cnblogs.com/liyinkan/p/1830871.html
Copyright © 2011-2022 走看看