本文目錄一覽:
- 1、java如何實現對本機的ip地址 網關地址 子網
- 2、java 如何驗證ip地址
- 3、求助如何通過java來改變本機的IP地址?
- 4、怎樣通過java來得到真實的ip地址
- 5、怎樣用Java或者 Java Applet 製作一個ip地址的輸入框(控制項)
- 6、如何用java獲取本地ip地址
java如何實現對本機的ip地址 網關地址 子網
提供一種可行的方法。供你參考。思路是利用操作系統的shell,執行相應的命令。
以下以WINDOW操作系統為例。LINUX的思路相同。
1,在E;\下建立如下兩個bat文件,內容分別如下:
e:\setip1.bat文件內容:
rem 設置IP、子網掩碼、默認網關
c:
cd \
netsh exec e:\setip.bat
另一個文件e:\setip.bat文件內容:
interface
ip
set address “本地連接” static 192.168.1.111 255.255.255.0 192.168.1.1
exit
2,執行腳本命令的JAVA程序
java 如何驗證ip地址
可以使用正則表達式驗證ip地址,ip地址分為v4和v6兩個版本,v4為32位,分4段,中間用.隔開,v6為128位,可分為4段32位中間用::隔開。
以下是驗證類詳細代碼:
import java.util.regex.Pattern;
/**
* A collection of utilities relating to InetAddresses.
*/
public class InetAddressUtils {
public static void main(String[] args){
String addr=”192.168.1.2″;
System.out.println(isIPv4Address(addr));
}
private static final Pattern IPV4_PATTERN =
Pattern.compile(
“^(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}$”);
private static final Pattern IPV6_STD_PATTERN =
Pattern.compile(
“^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$”);
private static final Pattern IPV6_HEX_COMPRESSED_PATTERN =
Pattern.compile(
“^((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)::((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)$”);
public static boolean isIPv4Address(final String input) {
return IPV4_PATTERN.matcher(input).matches();
}
public static boolean isIPv6StdAddress(final String input) {
return IPV6_STD_PATTERN.matcher(input).matches();
}
public static boolean isIPv6HexCompressedAddress(final String input) {
return IPV6_HEX_COMPRESSED_PATTERN.matcher(input).matches();
}
public static boolean isIPv6Address(final String input) {
return isIPv6StdAddress(input) || isIPv6HexCompressedAddress(input);
}
}
求助如何通過java來改變本機的IP地址?
不能改變的,java有內省的安全機制,不支持那些不安全的操作,而修改ip就更不安全了,所以一般不能直接通過java來修改本機ip的
不過獲取到關於用戶的ip的那個文件的信息然後再去修改倒是可以的
怎樣通過java來得到真實的ip地址
public static void main(String[] args) { try { // 獲取計算機名 String name = InetAddress.getLocalHost().getHostName(); // 獲取IP地址 String ip = InetAddress.getLocalHost().getHostAddress(); System.out.println(“計算機名:”+name); System.out.println(“IP地址:”+ip); } catch (UnknownHostException e) { System.out.println(“異常:” + e); e.printStackTrace(); } }
是否可以解決您的問題?
怎樣用Java或者 Java Applet 製作一個ip地址的輸入框(控制項)
可以用四個文本框,每個框輸入IP地址的一個部分 , 可以把四個文本框放到一個Panel 或 JPanel 中。
如何用java獲取本地ip地址
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
/**
* @author Becolette
* @description TODO
* @date 2015-11-5 下午01:58:46
*/
public class IpAddress {
public static String find() {
ListString ips = new ArrayListString();
// 返回所有網路介面的一個枚舉實例
Enumeration? allNetInterfaces = null;
try {
allNetInterfaces = NetworkInterface.getNetworkInterfaces();
} catch (SocketException e) {
e.printStackTrace();
}
InetAddress ip = null;
while (allNetInterfaces.hasMoreElements()) {
NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
EnumerationInetAddress addresses = netInterface.getInetAddresses();
while (addresses.hasMoreElements()) {
// 獲得當前網路介面
ip = (InetAddress) addresses.nextElement();
if (ip != null ip instanceof Inet4Address ip.getHostAddress().indexOf(“.”) != -1) {
ips.add(ip.getHostAddress());
}
}
}
if (ips.size() == 1) {
return ips.get(0);
} else {
for (String ipa : ips) {
if (!”127.0.0.1″.equals(ipa)) {
return ipa;
}
}
}
return MacAddress.find();
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/238808.html