Adobe AIR 读取 Flash Player 的 .sol 文件
Adobe AIR read .sol file of Flash Player
当我需要使用 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
class用readObject
方法打开.sol
文件,但是没有用
- 将
.sol
文件复制到 Adobe AIR 共享对象路径并使用 SharedObject
读取,但出现 Error #2134: Cannot create SharedObject
。
我该怎么做才能解决这个问题?
Flash Player/AIR 没有直接读取 .sol
文件的内置方法。当然 SharedObject
class 是你应该访问 SO 数据的方式,但它有限制,正如你注意到从特定已知路径读取的那样,它不能用于解析任何 .sol
直接归档。要读取 .sol
文件,您需要使用 FileStream
然后直接按照 .sol
格式解析 ByteArray
...当然 .sol
使用 AMF 来存储因此 readObject
的数据应该适用于一部分,但是文件格式(header,等等)是它自己的格式,必须被解析出来。不幸的是,很难找到关于该格式的良好文档。已经有很多 SO 读者了,你可以参考一下:
当我需要使用 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
class用readObject
方法打开.sol
文件,但是没有用 - 将
.sol
文件复制到 Adobe AIR 共享对象路径并使用SharedObject
读取,但出现Error #2134: Cannot create SharedObject
。
我该怎么做才能解决这个问题?
Flash Player/AIR 没有直接读取 .sol
文件的内置方法。当然 SharedObject
class 是你应该访问 SO 数据的方式,但它有限制,正如你注意到从特定已知路径读取的那样,它不能用于解析任何 .sol
直接归档。要读取 .sol
文件,您需要使用 FileStream
然后直接按照 .sol
格式解析 ByteArray
...当然 .sol
使用 AMF 来存储因此 readObject
的数据应该适用于一部分,但是文件格式(header,等等)是它自己的格式,必须被解析出来。不幸的是,很难找到关于该格式的良好文档。已经有很多 SO 读者了,你可以参考一下: