2014-10-07 5 views
3

мне нужно изменить IP-адрес компьютера с помощью Java ... Я попытался это одно, но это оленья кожа работа ...Изменение компьютера IP-адрес с помощью JAVA

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); 
+0

любые ошибки? У вас есть разрешение? Работает ли она из командной строки? –

+0

Что не работает? Это дает вам какую-либо ошибку? Который из? –

+0

Я не знаю .. там ничего не показано ... –

ответ

2

Вы (вероятно) нужно правильно сцепить эти key=value аргументы - как указано, они будут рассматриваться как отдельные аргументы, то есть

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

Простите, что это не работает .. :( –

+0

сделать то же самое с 'name = \" Подключение по локальной сети \ "' – Alnitak

+0

нерабочий .... –

1

Вы пробовали это?

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

Обратите внимание, что теперь аргументы после = не разделяются пробелами. Также обратите внимание на двойные кавычки, окружающие локальное соединение.

Если это не работает либо, попробуйте ограждающих Подключение по локальной сети в одинарные кавычки, как это:

"name='Local Area Connection'" 
0

Я проверял код размещен, а вот ошибка я получил

Исключение в нить «главный» java.lang.Error: нерешенная проблема компиляции: Необработанное исключение типа IOException

at DaysinaMonth.main(DaysinaMonth.java:9) 

ошибка была найдена о п эта линия:

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

У меня нет никаких предложений для крепления, но я могу сказать, что, глядя на код, предоставленный, среда, кажется бесполезным, если не используется для формирования петли, но так как вы не сделали IP установлен как произвольно сгенерированное число, которое не имеет оснований для выполнения.

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); 
    } 
} 

Это похоже на работу, но отдача странны: [email protected]

ошибок не обнаружено, и мой IP был изменен, но не в ожидаемом пути.

 Смежные вопросы

  • Нет связанных вопросов^_^