没有使用局部变量的值错误

时间:2017-01-26 19:04:24

标签: java windows cmd

try {
    String username = System.getProperty("user.name");
    Runtime.getRuntime().exec(
        "cmd /c start C:\\Users\\(username)\\AppData\\Roaming\\.minecraft\\jai.bat"
    );
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}               

错误在

String username = System.getProperty("user.name");

错误是:

  

未使用本地变量username的值

我真的很陌生,我不知道出了什么问题,有什么想法吗?

2 个答案:

答案 0 :(得分:0)

将此(username)替换为您帐户窗口的真实姓名,例如我的帐户名称为YCF_L,所以这应该是这样的:

Runtime.getRuntime().exec(
"cmd /c start C:\\Users\\YCF_L\\AppData\\Roaming\\.minecraft\\jai.bat");

要查看实名是什么,请打开计算机并输入C:\Users

enter image description here

修改

如果你想动态制作它,那么你应该像这样连接你的用户名:

Runtime.getRuntime().exec(
    "cmd /c start C:\\Users\\" + username + "\\AppData\\Roaming\\.minecraft\\jai.bat");

答案 1 :(得分:0)

您没有使用变量username,并且您尝试以错误的方式访问用户的目录:

"cmd /c start C:\\Users\\(username)\\AppData\\Roaming\\.minecraft\\jai.bat"

将被翻译为:

C:/Users/(username)/AppData/Roaming/.minecraft/jai.bat

所以,我建议你把它改成:

"cmd /c start C:\\Users\\" + username + "AppData\\Roaming\\.minecraft\\jai.bat"

还要使用File#separator之类的:

"cmd /c start C:" + File.separator + "Users" + File.separator + username + "...";

这样你就不必逃避\

或者更好的方式:

String path = "cmd /c " + System.getProperty("user.home") + File.separator + "AppData" + File.separator + "Roaming" + File.separator + ".minecraft" + File.separator + "jai.bat";

Runtime.getRuntime().exec(path);