Adobe AIR 读取 Flash Player 的 .sol 文件

Adobe AIR read .sol file of Flash Player

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

Flash Player 共享对象的路径是:

C:/Users/%username%/AppData/Roaming/Macromedia/Flash Player/#SharedObjects/%randomnumber%/localhost/

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

C:/Users/%username%/AppData/Roaming/%applicationname%/Local Store/#SharedObjects/#localhost/

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

我试过了:

我该怎么做才能解决这个问题?

Flash Player/AIR 没有直接读取 .sol 文件的内置方法。当然 SharedObject class 是你应该访问 SO 数据的方式,但它有限制,正如你注意到从特定已知路径读取的那样,它不能用于解析任何 .sol 直接归档。要读取 .sol 文件,您需要使用 FileStream 然后直接按照 .sol 格式解析 ByteArray ...当然 .sol 使用 AMF 来存储因此 readObject 的数据应该适用于一部分,但是文件格式(header,等等)是它自己的格式,必须被解析出来。不幸的是,很难找到关于该格式的良好文档。已经有很多 SO 读者了,你可以参考一下: