Adobe AIR读取Flash Player的.sol文件

bio*_*bio 0 air flash actionscript-3 shared-objects

当我需要使用 Adob​​e AIR 应用程序读取 Flash Player 的 .sol 时,我遇到了共享对象文件的问题。

Flash Player共享对象的路径是:

C:/Users/%username%/AppData/Roaming/Macromedia/Flash Player/#SharedObjects/%randomnumber%/localhost/
Run Code Online (Sandbox Code Playgroud)

但是,Adobe AIR共享对象的路径是:

C:/Users/%username%/AppData/Roaming/%applicationname%/Local Store/#SharedObjects/#localhost/
Run Code Online (Sandbox Code Playgroud)

如何使用 Adob​​e AIR 应用程序读取 Flash Player 共享对象?

我试过:

  • 使用类用方法FileStream打开文件,但是不起作用。.solreadObject
  • 将文件复制.sol到 Adob​​e AIR 共享对象路径并使用 读取SharedObject,但Error #2134: Cannot create SharedObject发生了这种情况。

我能做什么来解决这个问题?

Aar*_*all 5

Flash Player/AIR 没有.sol直接读取文件的内置方法。当然,该类SharedObject是您应该访问 SO 数据的方式,但它有限制,正如您指出的从特定的已知路径读取,它不能用于.sol直接解析任何文件。要读取.sol文件,您需要使用然后直接FileStream解析格式...当然使用 AMF 来存储数据,因此应该适用于一部分,但文件格式(标头等)是其自己的格式,必须是解析出来了。不幸的是,找到有关该格式的良好文档非常困难。已经有很多 SO 读者了,你可以使用其中一个作为参考:ByteArray.sol.solreadObject