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