短版本:
我看到有一个叫做supplyFile()的炼金术方法,但第二个arg是ByteArray。。。这到底是干什么的?!?!
更长版本:
我想做以下事情:
-
打开一个文件并将其分配给炼金术C端的全局变量。
-
读取(并处理)C端上的一块字节
-
将它们发送到Actionscript以显示
-
转到步骤2,直到EOF或Actionscript 发出通知
-
关闭文件
我现在可以通过打开文件并将块读取到Actionscript端的ByteArray中,然后将其传递给C进行处理并返回来实现这一点,但这需要在C端执行AS3_ByteArray_writeBytes()/AS3_ByteArray_readBytes(。
有什么方法可以简单地在C端打开()文件并读取一些字节吗
假设我们谈论的是磁盘上的一个非常大的文件(>4GB)。
来自文档:
supplyFile(路径:String,数据:ByteArray):此方法允许您在C代码的指定路径上提供一个文件。如果您的C代码期望在特定位置有一个配置文件由于安全限制,运行时无法访问。
换句话说,supplyFile
允许您创建一个"虚拟文件",该文件可以使用fopen
从C访问。
使用一个字符串调用supplyFile
,该字符串表示虚拟文件的路径(可以是您想要的任何路径),并使用一个ByteArray作为该虚拟文件的内容。然后,在C端,使用虚拟文件路径调用fopen
,并像使用普通文件一样使用fread
和朋友。