我试图在 home/appdata 文件夹中保存一些用户设置,但是当我使用 dir.canwrite() 时它返回 false。这是我用来确定 home/appdata 文件夹的代码:
public static String getAppDataPath() {
if (System.getProperty("os.name").contains("Windows")) {
return System.getenv("APPDATA");
} else {
return getUnixHome();
}
}
public static String getUnixHome() {
String home = System.getProperty("user.home");
return home != null ? home : "~";
}
这是尝试 mkdir 的代码:
public static boolean checkExistenceDir(String path) {
File dir = new File(path);
if(!dir.exists()) {
dir.mkdir();
}
}
有问题的路径是:
getAppDataPath() + ".foo" + File.separatorChar
您需要以管理员身份启动 Java 进程。
您可以在 Windows 中创建 run.vbs 脚本来启动您的 jar https://stackoverflow.com/questions/13060215/vbscript-single-line-as-administrator:
Set oShell = CreateObject("Shell.Application")
oShell.ShellExecute "cmd.exe", , , "runas", 1
oShell.Run "java -jar myjar.jar"
要使程序始终以管理员身份运行,您需要它至少以管理员身份运行一次并更新注册表项。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)