`

sparse file

阅读更多

windows - chsize
unix    - truncate
unix    - lseek

二进制,填充0

chsize/truncate比write快很多很多

空洞文件 又叫 稀疏文件  Sparse File

http://space.itpub.net/8242091/viewspace-619756
http://hi.baidu.com/holylizejin/blog/item/5c8072885f67be739f2fb420.html
http://blog.chinaunix.net/u3/104183/showart_2277274.html
http://blog.csdn.net/BABY313/archive/2010/01/18/5208836.aspx

linux 命令
ls -l  file.txt   // 文件大小
du -sk file.txt   // 文件实际分配的空间
fileplace file.txt   {必须安装perfagent.tools包才能使用}






#include <iostream>
#include <windows.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>

using namespace std;

int main(int argc,char argv[])
{
    char buf[] = "0123456789";

    int fd = open("G:/data", O_RDWR | O_CREAT, S_IREAD | S_IWRITE);
    if (-1 == fd) return 0;

    cout << write(fd, buf, sizeof(buf)) << endl;

    chsize(fd, 20000);

    close(fd);
    cout << GetLastError() << endl;
    return 0;
}


#include <stdio.h>
#include <fcntl.h>
#include <string.h>

#define MAXSIZE 1024

int main(int argc, char *argv[])
{    
    int fd = open("file.txt",O_RDWR);
    printf("fd = %d \n",fd);
    
    char buf[MAXSIZE];
    memset(buf, 0, MAXSIZE);
    int size = read(fd,buf ,MAXSIZE);
    printf("read size = %d \n",size);
    printf("conten = %s \n",buf);
    
    int lse = lseek(fd, 4096, SEEK_END);
    printf("lseek size= %d \n",lse);
    
    char s[] = "0123"; 
    int ok = write(fd, s, sizeof(s));
    printf("write size = %d \n",ok);
    
    close(fd);
    
    return 0;
}

int createSparseFile(char *path, long size)
{
    if (access(path, F_OK) == 0)    return -1;

    int fd = creat(path, O_WRONLY);
    if (fd < 0)     return -2;

    lseek(fd, size-1, SEEK_SET);
    write(fd, 0, 1);
    close(fd);

    return 0;
}

分享到:
评论

相关推荐

    Go-Sparse-操作Android稀疏图像格式simg2img的Golang库

    在Android系统中,为了节省存储空间和提高更新效率,设备上的系统映像文件通常采用稀疏图像(sparse image)格式。这种格式允许未初始化的数据块使用特殊的标识,从而避免存储无用的零值。Go-Sparse是一个用Golang...

    ct(copy with sparse)

    这种技术将文件转换为“稀疏文件”(sparse file),只存储非零数据块,而将零值数据块标记为未分配的空间。这样,对于包含大量连续零值的数据,如虚拟机映像文件或大型数据库,可以大大减少实际磁盘占用。 稀疏...

    稀疏文件.docx

    在Windows操作系统中,稀疏文件(Sparse File)是一种特殊的文件类型,它允许文件系统以高效的方式存储大量由零填充的数据。这种技术对于处理大文件,尤其是那些大部分内容为零的文件,如虚拟内存文件或数据库文件,...

    PyPI 官网下载 | torch_sparse-0.6.12.tar.gz

    《PyPI官网下载 | torch_sparse-0.6.12.tar.gz:深度学习中的稀疏张量处理》 PyPI(Python Package Index)是Python开发者的重要资源库,它提供了丰富的Python库供用户下载和使用。在PyPI官网上,我们可以找到名为...

    [SampleCode]使用 PowerShell 脚本查询 Azure 虚拟机磁盘用量-steve update1

    页面 Blob 是 Azure 虚拟机磁盘的基础,它是一个稀疏文件(Sparse File),仅存储非空数据块,空闲部分填充为 0。Azure 存储对页面 Blob 的计费是基于其大小,即实际占用的空间。因此,了解如何查询页面 Blob 的真实...

    操作系统大作业_ufs文件系统

    在某些实现中,ufs还支持稀疏文件(sparse file),这种文件在磁盘上只占用实际使用的存储空间,而非其理论上的最大大小。 在进行操作系统大作业时,理解和实现ufs文件系统涉及到了数据结构、文件系统设计原理、I/O...

    POI3.8组件研究(四)--Event API (HSSF Only)事件的解析

    在本文中,我们将深入探讨Apache POI 3.8版本中的Event API,特别是针对HSSF(Horizontally Sparse File Format)的事件解析。Apache POI是一个流行的Java库,它允许开发人员处理Microsoft Office格式的文件,如...

    torch_sparse-0.6.17+pt113cpu-cp310-cp310-linux_x86_64.whl.zip

    首先,`torch_sparse-0.6.17+pt113cpu-cp310-cp310-linux_x86_64.whl`是一个专门为Python 3.10版本和CPU环境编译的轮子文件(wheel file),适用于Linux x86_64架构。其后缀`.zip`表明它是一个压缩文件,需要解压后...

    img2simg 换成 工具

    将Android的raw ext4 image转换成为sparse image的工具。用法: img2simg &lt;raw_image_file&gt; &lt;sparse_image_file&gt; []

    pyxclib:多标签分类问题的工具

    pyxclib 极端多标签分类问题的工具。 ...cd pyxclib python3 setup.py install --user 用法 数据读/写 from xclib ....# Read sparse file &#40;see docstring for more&#41; # header can be set to fal

    torch_sparse-0.6.18+pt20cpu-cp310-cp310-win_amd64whl.zip

    7. **稀疏张量的保存与加载**:`sparse.save(file)`和`sparse.load(file)`用于序列化和反序列化稀疏张量,以便于数据持久化和跨设备传输。 在使用`torch_sparse`时,需要注意的是,由于稀疏张量的存储方式,某些...

    libcusparse.so.11

    安装torch-geometric和安装torch-sparse后,导入torch-sparse时却报错: OSError: libcusparse.so.11: cannot open shared object file: No such file or directory 搜索全网,也没找到解决方案。最快解决方案如下:...

    torch_sparse-0.5.1-cp38-cp38-win_amd64whl.zip

    首先,`torch_sparse-0.5.1-cp38-cp38-win_amd64whl`是一个针对Python 3.8和64位Windows系统的预编译轮子文件(wheel file)。它的命名遵循了Python的包命名规则,`cp38`代表Python 3.8版本,`cp38-win_amd64`则表明...

    torch_sparse-0.6.18+pt20cpu-cp39-cp39-win_amd64whl.zip

    在本案例中,我们看到的`torch_sparse-0.6.18+pt20cpu-cp39-cp39-win_amd64.whl`是一个针对Python 3.9和Windows AMD64平台的预编译轮子文件(wheel file)。`pt20cpu`标识表示这个版本的`torch_sparse`是专门为与...

    img2simg工具

    将Android的raw ext4 image转换成为sparse image的工具。用法: img2simg &lt;raw_image_file&gt; &lt;sparse_image_file&gt; []

    torch_sparse-0.6.17-cp38-cp38-macosx_10_15_x86_64whl.zip

    值得注意的是,torch_sparse-0.6.17-cp38-cp38-macosx_10_15_x86_64.whl是一个预编译的轮子文件(wheel file),它是一种便于安装的Python包格式,可以直接通过pip进行安装。 在安装torch_sparse之前,必须先确保...

    NTFS.zip_Virtual File System_ntfs稀疏文件_virtual disk _稀疏NTFS_虚拟硬盘

    1. **创建稀疏文件**:可以通过特定的API函数(如Windows API的CreateFile函数,设置FILE_SPARSE_FILE标志)或者直接在文件系统中设置文件属性来创建稀疏文件。 2. **扩展稀疏文件**:当需要向稀疏文件添加数据时,...

    sparse-som:稀疏数据的高效自组织映射

    稀疏 稀疏输入数据的自组织映射的高效实现。 该程序使用一种专门用于稀疏数据的算法,该算法比非常稀疏的数据集上的经典算法要快得多... -i infile input file at libsvm sparse format -y nrows number of rows i

    Android代码-Prop-Editor

    PropEditor program Running the program: Main screen: Clicking 'Open File' button opens a [text box] file dialog, defaulting to the sdcard);... the suggestion file is less sparse at this tim

Global site tag (gtag.js) - Google Analytics