使用JAVA更改计算机IP地址

使用JAVA更改计算机IP地址,java,ip,lan,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, "mas

我需要使用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);
您(可能)需要将这些
key=value
参数正确地连接在一起-在编写时,它们将被视为单独的参数,即

{..., "addr1=" + str1, "mask=" + str2 };
你试过这个吗

String[] command1 = { "netsh", "interface", "ip", "set", "address",
"name=\"Local Area Connection\"" ,"source=static", "addr="+str1,
"mask="+str2};
请注意,现在=后面的参数没有用空格分隔。还请注意局部区域连接的双引号

如果这也不起作用,请尝试用单引号将局域网连接括起来,如下所示:

"name='Local Area Connection'"

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

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

at DaysinaMonth.main(DaysinaMonth.java:9)
在此行中发现错误:

Process pp = java.lang.Runtime.getRuntime().exec(command1);
我没有修复这个问题的建议,但我可以说,查看提供的代码,运行时似乎没有用处,除非用于形成循环,但由于您没有将IP设置为随机生成的数字,因此没有理由这样做

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已被更改,但未按预期方式更改。

请确保您的接口名称


在cmd中使用
netsh interface ipv4 show config
检查连接的名称

是否有错误?你有许可证吗?它在命令行中工作吗?什么不工作?这会给你任何错误吗?哪一个?我不知道。。没有显示任何内容…没有尝试过@ScaryWombat@ZulkernainTasin您希望这段代码做什么?这将更改您的本地计算机(以太网)地址。如果你认为这会改变你的外部IP地址,那你就错了。对
name=\“localareaconnection\”