在AIR中的本地资产文件夹中存储/保存XML

时间:2012-01-25 05:01:17

标签: air flash-builder

AIR通常似乎将xml文件存储在安装应用程序的路径中。 我正在生成一个xml,我想在AIR应用程序的本地资产文件夹中保存/存储一个xml文件。

关于这样做的任何想法。

2 个答案:

答案 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();