gpt4 book ai didi

haxe - 如何查看Haxe的可用空间?

转载 作者:行者123 更新时间:2023-12-02 05:17:03 24 4
gpt4 key购买 nike

我找不到使用 Haxe、Openfl、Lime 或其他库检查设备中可用空间的方法。我想避免下载超过每台设备上的应用推荐大小的数据。你会做什么来检查它?

最佳答案

尝试创建一个那个大小的文件!然后删除它或重新打开并写入(而不是追加)其内容。

我不知道 Haxe 支持的所有平台是否都可以用这个技巧正常工作,但据报道这个算法在许多地方和语言中都有效(我个人在 Ruby 中测试它并看到 the same suggestion for C++/.NET )。检查是否有 X 字节的磁盘空间可用:

  • 打开一个新文件进行写入
  • 从头开始寻找 X-1 个字节
  • 写入一个字节的数据(随便你,042...)
  • 关闭 文件(可能与手头的任务无关,但无论如何不要忘记这样做)

如果磁盘空间不足,您可能会在该算法的某个时刻遇到异常。您必须找出预期的错误并正确处理它们。

使用 ihx 我发现这是可行的,只需要 Haxe 标准库:

haxe interactive shell v0.3.4
type "help" for help
>> import sys.io.*;
>> var f = File.write('loca', true)
sys.io.FileOutput : { __f => #abstract }
>> f.seek(39999, FileSeek.SeekBegin)
Void : null
>> f.writeByte(0)
Void : null
>> f.close()
Void : null

在这些操作之后,我的工作目录中有一个名为 loca 的文件,正好有 40000 字节。

顺便说一句,在 ihx 中做这些事情时要小心,因为它会重新运行整个 session ,每次都会附加最后输入的行。

正在进行的实验:

但是,当磁盘空间不足时,它可能不会因错误而失败。在这种情况下,您必须使用 sys.FileSystem.stat(path).size 检查实际大小。如果空间不足,请不要忘记删除该文件。

关于haxe - 如何查看Haxe的可用空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32796767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com