【发布时间】:2012-01-25 05:01:17
【问题描述】:
AIR 通常似乎将 xml 文件存储在应用程序的安装路径中。 我正在生成一个 xml,我想在 AIR 应用程序的本地资产文件夹中保存/存储一个 xml 文件。
关于这样做的任何想法。
【问题讨论】:
标签: air flash-builder
AIR 通常似乎将 xml 文件存储在应用程序的安装路径中。 我正在生成一个 xml,我想在 AIR 应用程序的本地资产文件夹中保存/存储一个 xml 文件。
关于这样做的任何想法。
【问题讨论】:
标签: air flash-builder
File 类有一些指向本地目录的静态变量:
来自文档:
- File.applicationStorageDirectory — 每个已安装的 AIR 应用程序唯一的存储目录
- File.applicationDirectory — 安装应用程序的只读目录(以及任何已安装的资产)
- File.desktopDirectory — 用户的桌面目录
- File.documentsDirectory — 用户的文档目录
- File.userDirectory — 用户目录
创建指向文件的指针
通常您会希望将此类文件存储在 File.applicationStorageDirectory 中。 所以要创建文件:
File.applicationStorageDirectory.resolvePath("my-config.xml");
或者,您可以让用户使用File#browseForSave() 选择存储文件的位置,这将显示一个本地“保存”窗口来选择位置。
编写内容
以“写入”模式打开文件的 FileStream,并将 XML 字符串写入文件。
var fs:FileStream = new FileStream();
fs.open(file, FileMode.WRITE);
fs.writeUTF(myXmlContent);
fs.close();
【讨论】:
看http://www.adobe.com/devnet/air/flex/quickstart/articles/xml_prefs.html
http://www.thetechlabs.com/xml/how-to-build-a-contact-manager-in-air-using-xml-part-2/
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filesystem/File.html
var prefsFile:File = File.applicationStorageDirectory;
prefsFile = prefsFile.resolvePath("preferences.xml");
stream = new FileStream();
stream.open(prefsFile, FileMode.WRITE);
stream.writeUTFBytes(outputStringXML);
或者类似的东西:
var saveStr:String = xmlToSave.toXMLString();
var file:File = new File('app-storage:/data.xml');
var fs:FileStream = new FileStream();
fs.open(file, FileMode.WRITE);
fs.writeUTFBytes(saveStr);
fs.close();
【讨论】: