首页 技术 正文
技术 2022年11月16日
0 收藏 839 点赞 2,270 浏览 2348 个字

今天分享一个工具类 CookieMgr,功能就是读取和写入 SharedObject 对象。很简单,都是静态方法,就不多说了

 package org.polarbear.core
{
import flash.net.SharedObject; /**
* 本地缓存管理器
* @author vee <a href="mailto:idoublewei@126.com" rel="external nofollow" >idoublewei@126.com</a> 2015-5-8 9:27:37
*/
public class CookieMgr
{
//============================================================================
//PUBLIC
//============================================================================
/**
* 往缓存中写入数据
* @param key 数据对应的键
* @param data 数据
* @param name 对象名称
* @param localPath 创建了共享对象的 SWF 文件的完整路径或部分路径,这将确定共享对象的本地存储位置。如果未指定此参数,则使用完整路径。
* @return 写入成功返回true,否则返回false
*/
static public function write(key:String, data:*, name:String, localPath:String = null):void
{
if (null == key || "" == key || null == data || null == name) return;
var so:SharedObject = getSO(name, localPath);
if (null == so) return; so.data[key] = data; try
{
so.flush();
}
catch(error:Error) { return; }
}
/**
* 从缓存中读取数据
* @param key 所取的数据的键
* @param name 对象的名称
* @param localPath 创建了共享对象的 SWF 文件的完整路径或部分路径,这将确定共享对象的本地存储位置。如果未指定此参数,则使用完整路径。
* @return 如果未找到,返回null
*/
static public function read(key:String, name:String, localPath:String = null):*
{
var so:SharedObject = getSO(name, localPath);
if (null == so) return null;
return so.data[key];
}
/**
* 判断缓存中是否存在指定对象的指定数据
* @param key 对象中数据的键
* @param name 对象的名称
* @param localPath 创建了共享对象的 SWF 文件的完整路径或部分路径,这将确定共享对象的本地存储位置。如果未指定此参数,则使用完整路径。
*/
static public function hasCookie(key:String, name:String, localPath:String = null):Boolean
{
var so:SharedObject = getSO(name, localPath);
if (null == so) return false;
return key in so.data;
}
/**
* 删除缓存数据
* @param name 对象的名称
* @param key 需要删除的数据的键,如果未指定该参数,则删除指定name对象,否则删除name对象中的key数据
* @param localPath 创建了共享对象的 SWF 文件的完整路径或部分路径,这将确定共享对象的本地存储位置。如果未指定此参数,则使用完整路径。
*/
static public function deleteCookie(name:String, key:String = null, localPath:String = null):void
{
var so:SharedObject = getSO(name, localPath);
if (null == so) return; if (null == key)
{
var keys:Array = [];
for (key in so.data)
{
keys.push(key);
}
for each (key in keys)
{
delete so.data[key];
}
}
else if (key in so.data) delete so.data[key];
}
//============================================================================
//PRIVATE
//============================================================================
/**
* 获取指定名称的缓存对象
* @param name 对象名称
* @param localPath 创建了共享对象的 SWF 文件的完整路径或部分路径,这将确定共享对象的本地存储位置。如果未指定此参数,则使用完整路径。
* @return 获取出错时,返回null
*/
static private function getSO(name:String, localPath:String):SharedObject
{
try
{
var so:SharedObject = SharedObject.getLocal(name, localPath);
return so;
}
catch(error:Error) { return null; }
return null;
}
}
}

CookieMgr

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,082
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,556
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,406
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,179
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,815
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,898