Air 解析标准目录(applicationDirectory、desktopDirectory等)之外的相对路径

Air 解析标准目录(applicationDirectory、desktopDirectory等)之外的相对路径,air,filesystems,Air,Filesystems,我需要导航到相对于applicationDirectory的文件,但正如文档中所述: 否。到达文件系统根目录或应用程序持久存储根目录的“.”引用通过该节点;它被忽略了 但疯狂的是如果我做了这样的事 File.applicationDirectory.resolvePath("/home/myHome/"); 我可以在文件系统中找到任何地方 我的问题是: 是否有一种变通方法可以从我的applicationDirectory导航到相对路径,如“../../my.cfg”??(我需要读取由其他应用程

我需要导航到相对于applicationDirectory的文件,但正如文档中所述:

否。到达文件系统根目录或应用程序持久存储根目录的“.”引用通过该节点;它被忽略了

但疯狂的是如果我做了这样的事

File.applicationDirectory.resolvePath("/home/myHome/");
我可以在文件系统中找到任何地方

我的问题是:
是否有一种变通方法可以从我的applicationDirectory导航到相对路径,如“../../my.cfg”??(我需要读取由其他应用程序生成的配置文件)

如果您试图访问根特权文件夹,则无法访问

在其他情况下,请尝试执行下一步“home/blah/blah/blah/../../my.cfg”,并再次研究以节省导航时间


还有其他几种方法:创建指向文件的链接或运行外部bash/bat脚本。

我以前使用Eugene回答中提到的小技巧从绝对路径复制:

var file = 'C:\Users\User1\Pictures\pic.png';
var newPath = air.File.applicationStorageDirectory.resolvePath('images/pic.png');

air.File.applicationDirectory.resolvePath('/../../../../../../../../../../' +
  file).copyTo(newPath, true);
但是,这是一种更好的方法:

var file = 'C:\Users\User1\Pictures\pic.png';
var newPath = air.File.applicationStorageDirectory.resolvePath('images/pic.png');

new air.File(file).copyTo(newPath, true);

正如我所说,我的应用程序被放置在另一个应用程序的子文件夹中,因此为了加载主配置文件,我需要使用“../../”进入一个文件夹。但是AIR在这方面是有限的(不能比主AIR应用程序更高),所以我要么使用绝对路径(比如/home/myHome),要么就需要找到解决方法。我无法创建链接,也不知道使用bash如何帮助我。无论如何谢谢你!读别人的意见总是好的!我的意思是,另一种结构,比如:getApplicationPath()+“../../”+url2filewow,我对解决方案感到震惊,他们为什么还要设置这种限制?!我做了一些类似var baseDir:File.applicationDirectory.resolvePath(“.”)的事情;它给了我当前的路径。然后我执行了var newPath:File=File.applicationDirectory.resolvePath(baseDir.nativePath+“/../”;它神奇地上升了,忽略了文档中写的东西。废话。非常感谢。