Java:System.getenv(“APPDATA”)返回null,现在是什么?
发布时间:2020-12-15 08:39:47 所属栏目:Java 来源:网络整理
导读:我刚刚发现当一个 Java程序在Windows上通过“Run As …”(从可执行文件的上下文菜单)作为另一个用户启动时,对System.getenv(“APPDATA”)的调用将返回null,而不是通常的应用程序数据文件夹 现在,当涉及到Windows文件夹等时,我有点像菜鸟,所以我的问题是,当我
我刚刚发现当一个
Java程序在Windows上通过“Run As …”(从可执行文件的上下文菜单)作为另一个用户启动时,对System.getenv(“APPDATA”)的调用将返回null,而不是通常的应用程序数据文件夹
现在,当涉及到Windows文件夹等时,我有点像菜鸟,所以我的问题是,当我的程序必须能够将数据存储在某处以便正常工作时,我应该如何处理这种情况?更具体地说,如果System.getenv(“APPDATA”)返回null,我甚至可以允许存储任何数据,如果是,那么在哪里?提前致谢! 解决方法
好的,我使用JNA解决了自己的问题:
com.sun.jna.platform.win32.Shell32Util.getFolderPath(int nFolder) 其中nFolder = 0x001a表示应用程序数据文件夹,nFolder = 0x001c表示本地应用程序数据文件夹.在Windows XP上,输出是
最重要的是,当程序通过Run As启动时,这不会返回null. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |