public static boolean validateIP(String ip){
boolean rtv = true;
String digiStr = "0123456789";
StringTokenizer s= new StringTokenizer(ip,".");
while(s.hasMoreElements()){
String oneBlock = (String)s.nextElement();
boolean findOneBlockF = false;
for(int i=0;i<oneBlock.length();i++){
String c = ""+oneBlock.charAt(i);
if ( digiStr.indexOf(c) == -1){
findOneBlockF = true;
break;
}
}
if ( findOneBlockF ) {
rtv = false;
break;
}
}
return rtv;
}
public static String getIps(){
ArrayList<String> ips = new ArrayList<String>();
try{
Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
while (interfaces.hasMoreElements()) { // carte reseau trouvee
NetworkInterface interfaceN = (NetworkInterface)interfaces.nextElement();
Enumeration<InetAddress> ienum = interfaceN.getInetAddresses();
while (ienum.hasMoreElements()) { // retourne l adresse IPv4 et IPv6
InetAddress ia = ienum.nextElement();
String adress = ia.getHostAddress().toString();
if( adress.length() < 16){ //On s'assure ainsi que l'adresse IP est bien IPv4
if(adress.startsWith("127")){ //Ce n'est pas l'adresse IP Local'
//System.out.println(ia.getHostAddress());
}else if(adress.indexOf(":") > 0){
//System.out.println(ia.getHostAddress()); // les ":" indique que c'est une IPv6"
}
}
ips.add(adress);
}
}
}catch(Exception e){
System.out.println("pas de carte reseau");
e.printStackTrace();
}
String localIP = "127.0.0.1";
String rtv = "";
if ( ips.size() > 0 ){
for(int i=0; i< ips.size();i++){
String ipTmp = ips.get(i);
if ( ipTmp.equalsIgnoreCase( localIP )){
continue;
} else {
rtv = ips.get(i);
if ( validateIP(rtv ))
break;
else
continue;
}
}
}
return rtv;
}
boolean rtv = true;
String digiStr = "0123456789";
StringTokenizer s= new StringTokenizer(ip,".");
while(s.hasMoreElements()){
String oneBlock = (String)s.nextElement();
boolean findOneBlockF = false;
for(int i=0;i<oneBlock.length();i++){
String c = ""+oneBlock.charAt(i);
if ( digiStr.indexOf(c) == -1){
findOneBlockF = true;
break;
}
}
if ( findOneBlockF ) {
rtv = false;
break;
}
}
return rtv;
}
public static String getIps(){
ArrayList<String> ips = new ArrayList<String>();
try{
Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
while (interfaces.hasMoreElements()) { // carte reseau trouvee
NetworkInterface interfaceN = (NetworkInterface)interfaces.nextElement();
Enumeration<InetAddress> ienum = interfaceN.getInetAddresses();
while (ienum.hasMoreElements()) { // retourne l adresse IPv4 et IPv6
InetAddress ia = ienum.nextElement();
String adress = ia.getHostAddress().toString();
if( adress.length() < 16){ //On s'assure ainsi que l'adresse IP est bien IPv4
if(adress.startsWith("127")){ //Ce n'est pas l'adresse IP Local'
//System.out.println(ia.getHostAddress());
}else if(adress.indexOf(":") > 0){
//System.out.println(ia.getHostAddress()); // les ":" indique que c'est une IPv6"
}
}
ips.add(adress);
}
}
}catch(Exception e){
System.out.println("pas de carte reseau");
e.printStackTrace();
}
String localIP = "127.0.0.1";
String rtv = "";
if ( ips.size() > 0 ){
for(int i=0; i< ips.size();i++){
String ipTmp = ips.get(i);
if ( ipTmp.equalsIgnoreCase( localIP )){
continue;
} else {
rtv = ips.get(i);
if ( validateIP(rtv ))
break;
else
continue;
}
}
}
return rtv;
}
显示机器名
import java.net.InetAddress;
import java.net.UnknownHostException;
public class Test {
public static void main(String[] args) throws UnknownHostException {
System.out.println(InetAddress.getLocalHost().getHostName()); //机器名
System.out.println(InetAddress.getLocalHost().getHostAddress()); //127.0.0.1
}
}