Flash ActionScript (11)用flash打开任何文件的方法
2012-03-11 13:59
357 查看
下面的代码实现了如上功能,它的作用类似UNIX系统中的mmap函数。
// 获得一个只读的随机存取文件对象
RandomAccessFile RAFile = new RandomAccessFile(filename,"r");
// 获得相应的文件通道
FileChannel fc = RAFile.getChannel();
// 取得文件的实际大小,以便映像到共享内存
intsize = (int)fc.size();
// 获得共享内存缓冲区,该共享内存只读
MappedByteBuffer mapBuf = fc.map(FileChannel.MAP_RO,0,size);
// 获得一个可读写的随机存取文件对象
RAFile = new RandomAccessFile(filename,"rw");
// 获得相应的文件通道
fc = RAFile.getChannel();
// 取得文件的实际大小,以便映像到共享内存
size = (int)fc.size();
// 获得共享内存缓冲区,该共享内存可读写
mapBuf = fc.map(FileChannel.MAP_RW,0,size);
// 获取头部消息:存取权限
mode = mapBuf.getInt();
如果多个应用映像同一文件名的共享内存,则意味着这多个应用共享了同一内存数据。这些应用对于文件可以具有同等存取权限,一个应用对数据的刷新会更新到多个应用中。
为了防止多个应用同时对共享内存进行写操作,可以在该共享内存的头部信息加入写操作标志。该共享内存的头部基本信息至少有:
int Length; // 共享内存的长度。
int mode; // 该共享内存目前的存取模式。
// 获得一个只读的随机存取文件对象
RandomAccessFile RAFile = new RandomAccessFile(filename,"r");
// 获得相应的文件通道
FileChannel fc = RAFile.getChannel();
// 取得文件的实际大小,以便映像到共享内存
intsize = (int)fc.size();
// 获得共享内存缓冲区,该共享内存只读
MappedByteBuffer mapBuf = fc.map(FileChannel.MAP_RO,0,size);
// 获得一个可读写的随机存取文件对象
RAFile = new RandomAccessFile(filename,"rw");
// 获得相应的文件通道
fc = RAFile.getChannel();
// 取得文件的实际大小,以便映像到共享内存
size = (int)fc.size();
// 获得共享内存缓冲区,该共享内存可读写
mapBuf = fc.map(FileChannel.MAP_RW,0,size);
// 获取头部消息:存取权限
mode = mapBuf.getInt();
如果多个应用映像同一文件名的共享内存,则意味着这多个应用共享了同一内存数据。这些应用对于文件可以具有同等存取权限,一个应用对数据的刷新会更新到多个应用中。
为了防止多个应用同时对共享内存进行写操作,可以在该共享内存的头部信息加入写操作标志。该共享内存的头部基本信息至少有:
int Length; // 共享内存的长度。
int mode; // 该共享内存目前的存取模式。
相关文章推荐
- 打开任何文件的方法(一)
- flash flex actionScript3 AS3 跨域操作 磁盘 文件
- flash flex actionScript3 AS3 跨域操作 磁盘 文件
- 关于Flash Actionscript脚本与HTML页面JavaScript脚本通讯的方法
- flash flex actionScript3 AS3 跨域操作 磁盘 文件
- flash as Actionscript中的数组的使用方法
- Flash/ActionScript 解决跨域问题的策略文件crossdomain.xml的写法
- 积少成多Flash ActionScript 3.0(2) - 基础之包、类、包外类、命名空间、属性、方法、接口和继承
- Flash/ActionScript读写SQLite二进制字段里的图片文件
- Flash ActionScript 中按钮和电影剪辑的事件和方法
- Flash ActionScript.——加载配置文件时出现乱码
- Flash ActionScript3 一种按照真实占位宽度截短字符串的方法
- Flash ActionScript 3.0的Socket连接的策略文件
- ASP实现网页打开任何类型文件都提示保存的方法附代码
- 用Flash CS4打开fla文件提示“意外的格式”的解决方法
- Flash Air ActionScript3 二进制数据写入文件
- Flash ActionScript 3.0的Socket连接的策略文件
- ASP实现网页打开任何类型文件都提示保存的方法附代码
- Visual Studio "无法查找或打开PDB文件"解决方法
- Chrom查看Flash缓存文件及Flash下载方法