Flex the world

Flex, AIR and Things......

接上一篇教程,我们来扩展一些内容。

Demo内容

1. 保存文本框内容到指定路径,创建名为saveFileDemo.xml的文件。
2. 读取txt与xml类型文件到文本框。
3. 重新以文本框的内容更新打开的文件。



1. 保存文本框内容到指定路径,创建名为saveFileDemo.xml的文件。

//打开文件选择器 private function saveFileTo():void{
var file:File = File.documentsDirectory; //默认为文档文件夹
file.browseForDirectory("请选择保存路径"); //打开文件夹选择器
file.addEventListener(Event.SELECT,directoySelectHandle) //监听文件夹选择事件
}


//用文本框内容创建文件
private function directoySelectHandle(e:Event):void{
var file:File = new File(e.target.nativePath).resolvePath("saveFileDemo.xml"); //创建名为saveFileDemo.xml的文件
fileStream.open(file,FileMode.WRITE); //Write方式打开
var content:XML =
{this.content.text}

fileStream.writeUTFBytes(content.toXMLString()); //将内容写入文件
fileStream.close()
Alert.show("文件创建成功","提示")

}


2. 读取txt与xml类型文件到文本框。

//打开类型为txt和xml的文件。
private function openFile():void{
var file:File = File.documentsDirectory;
var openFileFilter:FileFilter = new FileFilter("Text/XML", "*.txt;*.xml"); //过滤文件
file.browseForOpen("请选择要打开的文件",[openFileFilter]); //打开文件选择器
file.addEventListener(Event.SELECT,fileSelectHandle) //监听文件选择事件
}

//将打开文件内容写入文本框
private function fileSelectHandle(e:Event):void{
var file:File = e.target as File;
fileStream.open(file,FileMode.READ);
this.content.text = fileStream.readUTFBytes(fileStream.bytesAvailable) //只读方式打开文件,将内容放到TextArea
this.updateBtn.enabled = true;
this.saveNew.enabled = false;
fileStream.open(file,FileMode.WRITE); //以Write方式重新打开文件,这样我们就可以更新它

}

3. 重新以文本框的内容更新打开的文件。

//更新打开的文件 private function saveOpenFile():void{
fileStream.writeUTFBytes(this.content.text); //更新打开的文件
fileStream.close() Alert.show("文件更新成功","提示")
this.updateBtn.enabled = false;
this.saveNew.enabled = true;
}



OK, 下一篇是最后一篇关于文件的操作,讲解Tree控件动态读取文件夹列表,打开选择的文件。


相关教程:Adobe AIR迷你教程 - 本地文件(XML文件)的操作(1)


源文件下载

0 评论:

发表评论