flex读取本地文件,修改,并保存到本地
来源:互联网 发布:shell和python 编辑:程序博客网 时间:2024/05/24 05:02
开发环境:FlexBuilder4.6
test.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
private var file:FileReference = new FileReference();
private var parentPath:String = null;
private var fileName:String=null;
/**
* 读取要修改的文件
**/
protected function readFile(event:MouseEvent):void
{
var filter:FileFilter=new FileFilter("提示文件类型*.*", "*.*");
file.addEventListener(Event.SELECT,selectedFile);
file.browse([filter]);
}
/**
* 选择文件
* */
protected function selectedFile(e:Event):void{
if(e.target.size > 524288){
Alert.show("要读取的文件大于512KB,请重新选择文件");
return;
}
fileName = e.target.name;
file.load();
file.addEventListener(Event.COMPLETE,getData);
}
/**
* 获取文件
* */
protected function getData(e:Event):void{
var dataArr:ByteArray = file.data;
var dataStr:String;
dataArr.position = 0;
dataStr = dataArr.readUTFBytes(dataArr.length);
content.text = dataStr;
}
/**
*
* 修改完成后,将文本框中的内容保存到指定路径
* */
protected function saveContentHandler(event:MouseEvent):void
{
if(content.text==null || content.text==""){
Alert.show("请先选择文件修改,然后保存");
return;
}
var sfile:FileReference = new FileReference();
sfile.save(content.text, fileName);
sfile.addEventListener(Event.COMPLETE,fileSaved);
}
/**
* 文件保存成功
* */
protected function fileSaved(event:Event):void{
Alert.show("文件保存成功!");
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:VGroup width="80%" x="10" y="10">
<s:Label text="选择文件" />
<s:Button label="选取文件" id="secFileBtn" click="readFile(event)" />
<s:Label id="secFilePath" fontSize="16" fontWeight="bold" color="0x0050AA"/>
<s:TextArea id="content" width="600" height="400"/>
<s:Button label="保存" id="saveContent" click="saveContentHandler(event)"/>
</s:VGroup>
</s:Application>
采用此方法:第一:不需要获取文件的绝对路径,就可直接读取文件。
第二:秒杀网上所谓的通过JS回调方式获取(经测试,网上那种方式存在问题,每次获取的路径都是都是C:/fakepath/文件名).
第三:目前只支持文本格式存储的数据,当数据量过大(超过几M)时,读取到文本框中的数据很卡。
适用范围: 对配置文件的修改,或者动态配置文件的访问修改(文本格式,数据量较小)
0 0
- flex读取本地文件,修改,并保存到本地
- serialVersionUID的作用 保存对象到本地文件并读取
- 保存页面文本到本地文件&&读取本地文件内容到页面
- 保存文件到本地and加载本地文件
- VB读取本地图片并保存到数据库中
- java实现录音并保存到本地文件
- matlab读取txt文本内容修改并保存到txt
- Flex 实现读取本地文件
- flex实现读取本地文件
- flex读取本地文件
- [unity3d]保存文件到本地and加载本地文件
- [unity3d]保存文件到本地and加载本地文件
- unity3d保存文件到本地and加载本地文件
- unity3d保存文件到本地and加载本地文件
- [unity3d]保存文件到本地and加载本地文件
- python3备份SqlServer存储过程代码,并保存到本地,并发送邮件告知修改记录
- 将页面信息保存到本地文件和读取本地文件信息到页面
- nodejs抓取网页的源码,并保存到本地文件
- 读书感悟
- C# Socket编程笔记
- 断鸿零雁记
- The story of a typical software project.
- 软件项目“免坑”指南
- flex读取本地文件,修改,并保存到本地
- 搜集的一些有意思的图
- hdu 1698 Just a Hook(线段树)
- 创造性思维(Creative Thinking)
- 协同过滤算法:在线推荐系统如何工作?
- Linux Top 命令解析
- JVM调优总结 -Xms -Xmx -Xmn -Xss
- JVM(Java虚拟机)优化大全和案例实战
- Linux时间类型、函数和休眠函数