我需要导航到相对于我的applicationDirectory的文件,但正如文档中所述:
没有“..”引用到达文件系统根目录或应用程序持久存储根目录通过该节点;它被忽略了。
但疯狂的是,如果我做了像
这样的事情File.applicationDirectory.resolvePath("/home/myHome/");
我可以在文件系统中找到任何地方。
我的问题是: 有没有一种解决方法可以从我的applicationDirectory导航到像“../../my.cfg”这样的相对路径? (我需要读取由不同应用程序生成的配置文件)
答案 0 :(得分:4)
如果您尝试访问超级用户特权文件夹,那么
。在其他情况下,请尝试下一步“home / blah / blah / blah /../../ my.cfg”并再次研究http://help.adobe.com/en_US/AIR/1.5/jslr/flash/filesystem/File.html以节省导航时间。
您还有另外几种方法:创建指向您文件的链接或运行外部bash / bat脚本。
答案 1 :(得分:0)
我以前使用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);