Adobe AIR 读取 Flash Player 的 .sol 文件
Posted
技术标签:
【中文标题】Adobe AIR 读取 Flash Player 的 .sol 文件【英文标题】:Adobe AIR read .sol file of Flash Player 【发布时间】:2017-12-10 15:25:47 【问题描述】:当我需要使用 Adobe 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/
如何使用 Adobe AIR 应用程序读取 Flash Player 共享对象?
我试过了:
使用FileStream
类打开.sol
文件,方法为readObject
,但是不起作用。
将.sol
文件复制到Adobe AIR 共享对象路径并使用SharedObject
读取,但出现Error #2134: Cannot create SharedObject
。
我能做些什么来解决这个问题?
【问题讨论】:
你根本不应该这样阅读。 唯一使用共享对象的正确方法是使用记录在案的 var SO:SharedObject = SharedObject.getLocal("object id", "local path"); 【参考方案1】:Flash Player/AIR 没有直接读取.sol
文件的内置方法。当然 SharedObject
类是您应该访问 SO 数据的方式,但它有一些限制,并且正如您注意到从特定已知路径读取的那样,它不能用于直接解析任何 .sol
文件。要读取.sol
文件,您需要使用FileStream
,然后直接按照.sol
格式解析ByteArray
...当然.sol
使用AMF 来存储数据,因此readObject
应该适用于部分,但文件格式(标题等)是它自己的格式,必须解析出来。不幸的是,很难找到有关该格式的良好文档。那里已经有很多 SO 读者,您也许可以使用其中一个作为参考:
【讨论】:
以上是关于Adobe AIR 读取 Flash Player 的 .sol 文件的主要内容,如果未能解决你的问题,请参考以下文章