使用JAVA更改计算机IP地址

时间:2014-10-07 07:58:31

标签: java ip lan

我需要使用java更改计算机IP地址...我已尝试过这个但这不起作用...

    String str1="192.168.0.201"; 
    String str2="255.255.255.0";
    String[] command1 = { "netsh", "interface", "ip", "set", "address",
    "name=", "Local Area Connection" ,"source=static", "addr=",str1,
    "mask=", str2};
    Process pp = java.lang.Runtime.getRuntime().exec(command1);

5 个答案:

答案 0 :(得分:2)

你(可能)需要正确连接那些key=value参数 - 正如所写的那样,它们将被视为单独的参数,即

{..., "addr1=" + str1, "mask=" + str2 };

答案 1 :(得分:1)

你试过这个吗?

String[] command1 = { "netsh", "interface", "ip", "set", "address",
"name=\"Local Area Connection\"" ,"source=static", "addr="+str1,
"mask="+str2};

请注意,现在=之后的参数不用空格分隔。另请注意双引号区域本地连接。

如果这也不起作用,请尝试用单引号括起Local Area Connection,如下所示:

"name='Local Area Connection'"

答案 2 :(得分:1)

确保您的界面名称

在cmd中使用$code = time(); $array = array(); for ($qty = 0; $qty < $e->qty; $qty++) { $array = array_push($array, array( 'coupon_code' => $code + $qty, 'amount' => $e->amount, 'expiry_date' => $e->expiry_date, 'assigned_to' => $e->user_id, 'assigned_date' => date('Y-m-d'), 'created_by' => session('admin_id'), )); } DB::table('coupons')->insert($array); 检查连接的名称

答案 3 :(得分:0)

我测试了你发布的代码,这是我得到的错误

线程“main”中的异常java.lang.Error:未解决的编译问题:     未处理的异常类型IOException

at DaysinaMonth.main(DaysinaMonth.java:9)

错误发现在这一行:

Process pp = java.lang.Runtime.getRuntime().exec(command1);

我没有解决此问题的建议,但我可以说,查看提供的代码,除非用于形成循环,否则运行时似乎没用,但是因为您没有将IP设置为随机生成的数字,没有理由这样做。

答案 4 :(得分:0)

public class DaysinaMonth {
    public static void main(String[] args) throws Throwable{
        String str1="192.168.0.201"; 
        String str2="255.255.255.0";
        String[] command1 = { "netsh", "interface", "ip", "set", "address",
        "name=", "Local Area Connection" ,"source=static", "addr=",str1,
        "mask=", str2};
        Process pp = java.lang.Runtime.getRuntime().exec(command1);
        System.out.print( pp);
    }
}

这似乎有效,但回报很奇怪:java.lang.ProcessImpl@659e0bfd

没有发现任何错误,我的IP已被更改,但未按预期方式更改。