File io 如何在AIR应用程序中动态加载文件?我必须使用File类吗?

File io 如何在AIR应用程序中动态加载文件?我必须使用File类吗?,file-io,air,File Io,Air,我有一个XML文件,指定需要加载的图像文件。XML文件和图像文件位于与AIR应用程序所在位置相关的子文件夹中 我需要加载XML文件和图像(加载它们并将它们作为子对象添加到movieclip中) 在我的AIR应用程序中,当我试图通过URLRequest加载它时,它不起作用 myLoader = new URLLoader(); myLoader.load(new URLRequest(xmlFilename)); myLoader.addEventListener(Event.COMPLETE,

我有一个XML文件,指定需要加载的图像文件。XML文件和图像文件位于与AIR应用程序所在位置相关的子文件夹中

我需要加载XML文件和图像(加载它们并将它们作为子对象添加到movieclip中)

在我的AIR应用程序中,当我试图通过URLRequest加载它时,它不起作用

myLoader = new URLLoader();
myLoader.load(new URLRequest(xmlFilename));
myLoader.addEventListener(Event.COMPLETE, processXML);
(我从a.swf b/c知道这是可行的,我已经测试过了)

我发现了一些使用File类的示例,下面是我的代码,这确实有效:

var aFile:File = File.applicationDirectory.resolvePath( xmlFilename );
var aStream:FileStream = new FileStream();
aStream.open( aFile, FileMode.READ );
configXML = new XML( aStream.readUTFBytes( aStream.bytesAvailable ) );          
aStream.close();            
processXML();

我现在尝试加载XML文件中指定的图像,我发现我必须使用file类来引用文件系统中的图像

var engImageFile:File = File.applicationDirectory.resolvePath( "./english/"+ engFilename ); 

ldr = new Loader();
var urlReq:URLRequest = new URLRequest( engImageFile.url );
ldr.contentLoaderInfo.addEventListener( Event.COMPLETE, engImgLoaded );
ldr.load(urlReq);

这是AIR在读取/加载文件时访问文件(使用File类)的方式吗?

如果我正确理解您的问题,我相信您只需要将其作为数据源/数组加载,然后您可以将其绑定到所选的组件。

中指出,如果您使用File类访问文件,则这在所有平台上都是安全的。此外,文件对象的.url属性将使用适当的url方案

  • “app:”-相对于应用程序目录
  • “应用程序存储:”-相对于特殊应用程序存储目录
  • 文件:“-所有其他…我想如果你指定一个绝对路径