① ubuntu java啟動後 Foreign Address 總是ipv6. 如何改成ipv4
首先配置網路信息,文件地址:/etc/sysconfig/networkIPV6你可以關閉,開著也沒有問題。NETWORKING=no【這個配置IPV4是否開啟,yes是開始】NETWORKING_IPV6=yes【這個配置IPV6是否開啟】然後配置網卡信息,文件地址:/etc/sysconfig/network-scripts/ifcfg-eth0/ifcfg-eth0 是第一塊網卡,/ifcfg-eth1是第二塊網卡,看你的網卡情況來進行編輯。DEVICE=eth0【網卡名稱】BOOTPROTO=static【是否自動獲取,static是靜態地址】IPADDR=192.168.1.x【配置你的本地IP】NETMASK=255.255.255.0【子網掩碼】NETWORK=192.168.1.0【網路地址】ONBOOT=yes【開機載入】最後重啟你的網路service network restart祝您成功~
② java存放ipv6的ip用什麼數據類型
強烈建議用String類型存儲。如果是int,long型轉String的話,用String.valueOf()。或者他們直接+「」就可已轉String了。用String類型來存儲數據以後更改格式也容易。
③ java 如何驗證ip地址
可以使用正則表達式驗證ip地址,ip地址分為v4和v6兩個版本,v4為32位,分4段,中間用.隔開,為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);
}
}