您的位置:首页 > 大数据 > 人工智能

Adobe AIR迷你教程 -- 本地文件的操作(与文件选择器的结合)(2)

2009-09-28 16:06 316 查看
接上一篇教程,我们来扩展一些内容。

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐