加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex_将数据保存到本地文件;

发布时间:2020-12-15 05:01:16 所属栏目:百科 来源:网络整理
导读:结果输出: =File saved; =Saved 21 of (21) bytes; =File was successfully loaded; =Loaded 21 of (21)bytes; =Loaded 0 of (21)bytes; =FileReferenceSaveExample.as package aspackage { import flash.events.Event; import flash.events.IOErrorEvent;

结果输出:

=>File saved;
=>Saved 21 of (21) bytes;
=>File was successfully loaded;
=>Loaded 21 of (21)bytes;
=>Loaded 0 of (21)bytes;


=>FileReferenceSaveExample.as

package aspackage
{
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.ProgressEvent;
import flash.events.SecurityErrorEvent;
import flash.net.FileFilter;
import flash.net.FileReference;

import mx.core.UIComponent;

/**
* 将数据保存到本地文件类
* @author cen
*?
*/
public class FileReferenceSaveExample extends UIComponent
{
/**
* 属性*/
/*文件对象*/
private var fileRef:FileReference;


/**
* constructor
*/
public function FileReferenceSaveExample()
{
/**
* 初始化文件对象*/
fileRef = new FileReference();
fileRef.addEventListener(Event.SELECT,onFileSelectedHandler);
fileRef.addEventListener(Event.CANCEL,onFileCancelHandler);
fileRef.addEventListener(IOErrorEvent.IO_ERROR,onIOErrorHandler);
fileRef.addEventListener(SecurityErrorEvent.SECURITY_ERROR,onSecurityErrorHandler);

/*所允许文件类型*/
var fileType:FileFilter = new FileFilter("TextFiles(*.txt,*.rtf)","*.txt;*.rtf");

/*打开对话框选择文件*/
fileRef.browse([fileType]);
}

/**
* 安全错误
* @param event
*?
*/
private function onSecurityErrorHandler(event:SecurityErrorEvent):void
{
trace("There was a Security error;");
}

/**
* 输入/输出错误
* @param event
*?
*/
private function onIOErrorHandler(event:IOErrorEvent):void
{
trace("There was an IO Error;");
}

/**
* 文件选择
* @param event
*?
*/
private function onFileSelectedHandler(event:Event):void
{
fileRef.addEventListener(ProgressEvent.PROGRESS,onFileProgressHandler);
fileRef.addEventListener(Event.COMPLETE,onFileCompleteHandler);

/*加载数据进内存*/
fileRef.load();
}

/**
* 文件加载进度
* @param event
*?
*/
private function onFileProgressHandler(event:ProgressEvent):void
{
trace("=>Loaded "+event.bytesLoaded+" of ("+event.bytesTotal + ")bytes;");
}

/**
* 取消文件加载数据
* @param event
*?
*/
private function onFileCancelHandler(event:Event):void
{
trace("=>The Browse request was canceled by the user;");
}

/**
* 文件完成加载
* @param event
*?
*/
private function onFileCompleteHandler(event:Event):void
{
trace("=>File was successfully loaded;");

/**
* 移除监听*/
fileRef.removeEventListener(Event.SELECT,onFileSelectedHandler);
fileRef.removeEventListener(ProgressEvent.PROGRESS,onFileProgressHandler);
fileRef.removeEventListener(Event.COMPLETE,onFileCompleteHandler);
fileRef.removeEventListener(Event.CANCEL,onFileCancelHandler);
}

/**
* 保存数据进文件
* 特别说明:保存数据时,在这里,得需要手动调用此函数;
*/
public function saveFileFn():void
{
/**
* 选择文件保存位置以及设置文件名称*/
fileRef.addEventListener(Event.SELECT,onSaveFileSelectedHandler);
fileRef.save(fileRef.data,"writeTo.txt");
}

/**
* 选择文件要保存的位置
* @param event
*?
*/
private function onSaveFileSelectedHandler(event:Event):void
{
fileRef.addEventListener(ProgressEvent.PROGRESS,onSaveProgressHandler);
fileRef.addEventListener(Event.COMPLETE,onSaveCompleteHandler);
fileRef.addEventListener(Event.CANCEL,onSaveCancelHandler);
}

/**
* 文件保存进度
* @param event
*?
*/
private function onSaveProgressHandler(event:ProgressEvent):void
{
trace("=>Saved " + event.bytesLoaded + " of (" + event.bytesTotal + ") bytes;");
}

/**
* 保存数据文件取消
* @param event
*?
*/
private function onSaveCancelHandler(event:Event):void
{
trace("=>The save request was canceled by the user;");
}

/**
* 保存数据完成
* @param event
*?
*/
private function onSaveCompleteHandler(event:Event):void
{
trace("=>File saved;");

/**
* 移除监听*/
fileRef.removeEventListener(Event.SELECT,onSaveFileSelectedHandler);
fileRef.removeEventListener(ProgressEvent.PROGRESS,onSaveProgressHandler);
fileRef.removeEventListener(Event.COMPLETE,onSaveCompleteHandler);
fileRef.removeEventListener(Event.CANCEL,onSaveCancelHandler);
}
}
}


=>App.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" pageTitle="TheStudioOfCenyebao">

<fx:Script>
<![CDATA[
import aspackage.FileReferenceSaveExample;

/*文件保存*/
private var saveFile:FileReferenceSaveExample;

/**
* 加载数据*/
protected function LoadBtn_clickHandler(event:MouseEvent):void
{
saveFile = new FileReferenceSaveExample();

addElement(saveFile);

saveBtn.enabled = true;
}

/**?
* 保存数据*/
protected function saveBtn_clickHandler(event:MouseEvent):void
{
saveFile.saveFileFn();

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?saveBtn.enabled = false; } ]]> </fx:Script> <fx:Declarations> <!-- 非可视元素 ?--> </fx:Declarations> <s:VGroup horizontalCenter="0" verticalCenter="0" horizontalAlign="center" verticalAlign="middle" ?width="230" height="100"> <s:Label text="TheStudioOfCenyebao"/> <s:Button id="LoadBtn" label="加载文件" click="LoadBtn_clickHandler(event)"/> <s:Button id="saveBtn" label="保存数据" click="saveBtn_clickHandler(event)" enabled="false"/> </s:VGroup> </s:Application>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读