如何在没有io的情况下在windows上创建特定大小的文件?

2024-05-05

Windows 上是否有与 posix_fallocate() 等效的函数?具体来说,我正在寻找一种方法来立即(无需执行大量 IO)创建特定大小的文件(我不关心内容)。我尝试过 _chsize_s() ,它确实分配了文件,但需要很长时间,如果我右键单击文件并选择属性,我可以看到它的大小在增加......所以它似乎正在写入它。


总结所有评论:

您可能想要创建一个稀疏文件,该文件可以具有未在读取为零的存储上分配的范围,因此调整大小到任何大小都非常快。

See 这个答案 https://stackoverflow.com/a/4011563/578749了解如何创建它。将文件设置为稀疏文件后,您可以使用以下命令设置其大小设置文件指针() https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-setfilepointer + 设置文件结束符() https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-setendoffile,它应该立即返回,因为文件很稀疏。

也就是说,这些几乎产生了相反的效果posix_fallocate(),它获取一个充满稀疏空洞的文件,并执行任何必要的 IO 操作,以确保该文件在存储上完全分配并用零填充,这样就不会发生写入失败。此操作可能会很慢,具体取决于 POSIX 系统如何实现它,并且显然不是您想要的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在没有io的情况下在windows上创建特定大小的文件? 的相关文章

  • 提取证书中主题属性的所有值

    我目前正在使用CertGetNameString http msdn microsoft com en us library windows desktop aa376086 28v vs 85 29 aspx提取每个主题属性的值 如下所示
  • 将 Dropzone.js 与其他表单字段集成到 html 表单中

    我想将 dropzone js 添加到具有其他元素的表单中 我找到了这个示例并按照说明进行操作 不幸的是整个变成了 dropzone js dropzone https github com enyo dropzone wiki Combi
  • emacs 是否有类似 vims 的 NERDtree 之类的东西

    对于 vim 有一个名为 NERDtree 的文件系统浏览器 https github com scrooloose nerdtree https github com scrooloose nerdtree Emacs 确实存在替代或更好
  • 如何验证文件名称在 Windows 中是否有效?

    是否有一个 Windows API 函数可以将字符串值传递给该函数 该函数将返回一个指示文件名是否有效的值 我需要验证文件名是否有效 并且我正在寻找一种简单的方法来完成此操作 而无需重新发明轮子 我正在直接使用 C 但针对的是 Win32
  • 监听文件夹和文件(更改)

    可以直接在 PHP 或 Node 上监听文件夹和文件的更改 通过事件 还是我需要创建自己的方法来执行此操作 Example 我需要听文件夹 user 如果我将一些文件添加到该目录中 PHP 或 Node 会收到信息并运行PathEvent
  • 打破 ReadFile() 阻塞 - 命名管道 (Windows API)

    为了简化 这是一种命名管道服务器正在等待命名管道客户端写入管道的情况 使用 WriteFile 阻塞的 Windows API 是 ReadFile 服务器已创建启用阻塞的同步管道 无重叠 I O 客户端已连接 现在服务器正在等待一些数据
  • 全局拦截窗口移动

    我无法让全局系统挂钩正常工作 我希望在窗口移动时尽早收到通知 并更改窗口大小 这意味着 CBT 钩子HCBT MOVESIZE不会削减它 它只会在窗口移动后发生 我想挂钩窗口的实际移动 并能够在移动过程中更改窗口大小 挂钩是从 DLL 设置
  • C# 将数据写入 CSV 文件

    我正在尝试写入csv使用 C 语言逐行文件 这是我的功能 string first reader 0 ToString string second image ToString string csv string Format 0 1 n
  • 如何删除文件

    我们有一个脚本 scripts ourscript php和一个文件 media movie1 flv 当我们运行时 我们如何删除这个文件ourscript php Using unlink http php net manual en f
  • 返回两个文件之间不同的行 (Python)

    我有两个文件 每个文件都有数万行 output1 txt 和output2 txt 我想迭代这两个文件并返回两个文件之间不同的行 和内容 它们大部分是相同的 这就是为什么我找不到差异 filecmp cmp 返回 false 7 4 dif
  • 如何分块加载 Pickle 文件?

    是否有任何选项可以批量加载 pickle 文件 我知道我们可以将数据保存在 CSV 中并分块加载 但除了 CSV 之外 是否有任何选项可以批量加载 pickle 文件或任何 python 本机文件 基于Python pickle 的文档 h
  • 如何以“正确”的方式处理带有空字节的 Python unicode 字符串?

    Question PyWin32 似乎很乐意将 null 终止的 unicode 字符串作为返回值 我想以 正确 的方式处理这些字符串 假设我得到一个像这样的字符串 u C Users Guest MyFile asy x00 x00sy
  • 替换文件中的单词

    我是 Python 编程新手 我有一个 txt 文件 它看起来像 0 工资 14000 0 奖金 5000 0 礼物 6000 我想将每行中的第一个 0 值替换为 1 我怎样才能做到这一点 任何人都可以帮助我 带有示例代码 提前致谢 尼米利
  • 使用Git记录文件复制操作

    当我使用 git mv 在 git 中移动文件时 状态显示该文件已被重命名 即使我更改了某些部分 它仍然被认为几乎是相同的东西 这很好 因为它让我可以跟踪它的历史记录 当我复制文件时 原始文件有一些历史记录 我想将其与新副本关联起来 我尝试
  • 构建适用于 Windows 8 的控制面板小程序

    我开发了一个控制面板小程序 cpl 文件 我们与我们的应用程序一起分发 它在所有以前版本的 Windows 上运行良好 但在 Windows 8 上不行 该小程序根本不显示在控制面板中 以前我们所要做的就是将 cpl 文件放入 system
  • 将 Eclipse 中的路径/文件名复制到剪贴板

    是否有将当前路径 文件复制到剪贴板的快捷方式 Just select the file tab and hit Ctrl C to copy file basename into clipboard Hit Alt Enter to bri
  • 将对话框项分组到单个“组”(Visual Studio)

    我想创建一个对话框窗口来更改应用程序的设置 下面是 Adob e Reader 的屏幕截图 使用 Spy 后 我猜想 在右侧 所有控件 按钮 组合框 等 都属于 GroupBox 对于左侧TreeView控件中的每个类别 都有一个相应的Gr
  • 从会话 0(服务)启动提升的用户进程[重复]

    这个问题在这里已经有答案了 大家早 这个问题似乎已被问过几次 但我找不到它是否真的可能 我已发布于here http social msdn microsoft com Forums windowsdesktop en US 80e4e75
  • 验证 EXE 上的 Authenticode 签名 - C++,无需 CAPICOM

    我正在为安装程序 DLL 编写一个函数 以验证系统上已安装的 EXE 文件的 Authenticode 签名 该函数需要 A 验证签名是否有效 B 验证签名者是我们的组织 因为这是在安装程序中 并且因为它需要在较旧的 Win2k 安装上运行
  • 使用 plone.api 创建文件的 Python 脚本在设置文件时出现错误 WrongType

    Dears 我正在创建一个脚本python来在Plone站点中批量上传文件 安装是UnifiedInstaller Plone 4 3 10 该脚本读取了一个txt 并且该txt以分号分隔 在新创建的项目中设置文件时出现错误 下面是脚本 f

随机推荐

  • 仅当内容超过两行时显示只读/隐藏按钮

    我正在创建一个评论部分 类似于 youtube 的东西 并且我希望能够在 content 有多行时显示阅读更多 隐藏按钮 这就是我到目前为止所做的 我的阅读更多 隐藏按钮可以工作 因为我添加了一个计算的线夹 使内容仅在存在多行时才显示两行
  • 在 VBA 中接收文件创建通知,无需轮询

    我正在编写一个与 ScanSnap 扫描仪集成的程序 ScanSnap 扫描仪不支持 TWAIN 扫描文档后 它会自动保存为 PDF 我想监视保存文件的目录 并在文件出现 并完成写入 时采取一些操作 一种简单的方法是使用 MS Access
  • 需要密码才能卸载/删除应用程序

    我想要求用户在被允许卸载 删除我的应用程序之前输入密码 我怎样才能实现这个功能 你可以通过以下方式做到这一点 第一次安装应用程序时 请安装单独的应用程序 包 观察程序 watcher 包含的唯一类是一个监听的 BroadcastReceiv
  • React Native 中未捕获的引用错误?

    我在 React Native 中遇到了未捕获的引用错误 为什么会这样 我能够成功构建 但捆绑程序显示此错误 我该如何解决它 注意 我使用的是Windows 10 截屏 包 json name rchampz version 0 0 1 p
  • GWT SafeHTML、XSS 和最佳实践

    OWASP 的优秀人员强调 您必须对 HTML 文档中要放入不受信任数据的部分 正文 属性 JavaScript CSS 或 URL 使用转义语法 看OWASP XSS https www owasp org index php XSS 2
  • Java webapp部署:爆炸还是不爆炸?

    一个非常简单的问题 我有一个 war 40MB 文件要在 JBoss 上运行 部署的最佳实践是什么 war 文件是否应该以分解格式部署 或不 我问是因为如果它爆炸了 那么我可以选择随时更新我的 属性文件 并且不需要每次更改属性文件时都进行新
  • 如何避免.NET DLL文件被反汇编? [复制]

    这个问题在这里已经有答案了 我正在编写一个 NET 应用程序 一个 Windows 类库 来实现我们产品的许可 问题是 DLL 可以很容易地被 MSIL 反汇编器或任何其他第三方工具反汇编 并且可以很容易地破解代码 我什至尝试过在程序集上签
  • 生成所有可能的排列(或 n 元组)

    我想创建一个包含 10 个变量 可以是 1 或 2 的所有可能排列的 data frame 2 2 2 2 2 2 2 2 2 2 1024 possible 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1
  • 列切换按钮不会触发回调操作

    在下面的JSFiddle https jsfiddle net asanchez4096 urd5gquc 每当选择列可见性按钮中选择列的按钮时 操作函数都不会触发 下面是我正在使用的代码 document ready function v
  • Windows 批处理:如何添加主机条目?

    我想使用此批处理脚本通过使用自动将新条目添加到我的主机文件中windows questions tagged windows batch 不幸的是 剧本只需在主机文件中添加一行 当我以管理员身份运行脚本时 又出了什么问题 echo off
  • 从 celery 工作人员到普罗米修斯的自定义指标

    我有一些 celery 工作人员在 kubernetes 下的容器中运行 它们不会由 celery 自动缩放 并且每个都在单个进程中运行 即没有多处理 我想从他们那里获取一堆不同的指标到普罗米修斯中 我研究过 celery promethe
  • 实时数据监控:PyQtGraph

    我正在开展一个项目 我必须分析来自设备的信号 我有一个正在运行的库 它可以从设备获取数据 截至目前 我正在收集数据 然后绘制它 我有兴趣构建一个可以实时绘制图表的实时数据监视器 经过搜索 我发现 PyQtGraph 非常适合这项任务 我对
  • 如何在 Flutter 中创建网络图像列表

    我使用 Carousel Pro 包在屏幕上实现轮播 在这个 Carousel 类中它需要一个图像列表 Carousel 类的语法是 Carousel images NetworkImage https cdn images 1 mediu
  • 如何在android中使用进度条填充图像

    我正在做一个项目 它需要填充图像 意味着我想使用图像形状作为进度条 我不知道如何使用自定义进度栏 这是一个图像及其图像按钮 这是进度为 100 时的情况 这是 0 进度 您需要了解可绘制资源 可绘制资源 安卓开发者 https develo
  • python 请求上传文件

    我正在访问一个网站 并且想要上传一个文件 我用Python编写了代码 import requests url http example com files file open 1 jpg rb r requests post url fil
  • 如何在SVG中实现橡皮擦功能?

    我认为 SVG 在某些功能上比 HTML5 canvas 更好 但我无法想象一种简单的方法来实现橡皮擦功能 我有什么方法或例子吗 这是一种非常笨拙的方法 但您可以简单地用白色描边模仿标准钢笔工具
  • 通过 Travis-CI 部署到 Heroku 的问题

    在使用 Heroku 部署时 我不断收到此错误 并且在通过 Travis 运行构建后尝试部署到 Heroku 时 我一直收到几个不同的报告 No stash entries found API request failed Message
  • 为什么添加多重处理会阻止 python 找到我编译的 c 程序?

    我目前正在寻求利用多处理的力量来加速我的代码 然而 当我从 python 调用编译后的代码时遇到了一些问题 因为当编译后的文件包含任何形式的多处理时 它似乎从代码的视图中消失了 例如 使用以下测试代码 include
  • Java 从我创建的另一个类访问数组元素

    我正在使用 main 方法在类中创建一个数组 Word attempts new Word 26 Word 类中的字段是 private String attempts Word 类中的构造函数是 public Word int a att
  • 如何在没有io的情况下在windows上创建特定大小的文件?

    Windows 上是否有与 posix fallocate 等效的函数 具体来说 我正在寻找一种方法来立即 无需执行大量 IO 创建特定大小的文件 我不关心内容 我尝试过 chsize s 它确实分配了文件 但需要很长时间 如果我右键单击文