AIR通常似乎将xml文件存储在安装应用程序的路径中。 我正在生成一个xml,我想在AIR应用程序的本地资产文件夹中保存/存储一个xml文件。
关于这样做的任何想法。
答案 0 :(得分:1)
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();
答案 1 :(得分:0)
查看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();