我终于有时间开始玩Haxe了,我发现它是一个很棒的概念,但我无法推断出如何获取当前系统用户的名字或“特殊文件夹”位置。
在我的情况下,用户的主文件夹,文档文件夹或更新文件夹。我的目标语言是Java,也许是后来的C#...但我发现没有真正的方法来直接查询系统中的这些信息。到目前为止我所发现的是如何查询环境变量...其中有很多变化。
答案 0 :(得分:1)
Haxe std lib没有提供这样的特定功能。但是,它并不妨碍我们使用特定于目标的API。
#if java
import java.lang.System;
#elseif cs
import cs.system.Environment;
import cs.system.Environment.Environment_SpecialFolder;
#end
class Test {
static function main() {
#if java
//http://docs.oracle.com/javase/6/docs/api/java/lang/System.html#getProperties%28%29
trace(System.getProperty("user.home")); //Test.hx:11: C:\Users\Andy
#elseif cs
//https://msdn.microsoft.com/en-us/library/system.environment.specialfolder
trace(Environment.GetFolderPath(Environment_SpecialFolder.UserProfile)); //Test.hx:14: C:\Users\Andy
#end
}
}
build.hxml:
-main Test
-java bin
-cmd java -jar bin/Test.jar
--next
-main Test
-cs bin
# Environment_SpecialFolder.UserProfile is available since .net 4.0
-D net-ver=40
-cmd bin\bin\Test.exe