Java 获取本机的ip和主机名

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.InetAddress;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.UnknownHostException;


public class LoaclHostUtils {
/**
* 获取本机内网IP
* @return
*/
public static String getLocalHostIP(){
return getLocalHost().getHostAddress();
}

/**
* 获取本机当前用户名
* @return
*/
public static String getLocalHostName(){
return getLocalHost().getHostName();
}

public static InetAddress getLocalHost(){
InetAddress netAddress=null;
try {
netAddress=InetAddress.getLocalHost();
} catch (UnknownHostException e) {
e.printStackTrace();
}
return netAddress;
}

/**
* 获取外网IP
* 采用访问http://iframe.ip138.com/ic.asp来获取外网IP
* @return
*/
public static String getOuterNetIP(){
String checkURL="http://iframe.ip138.com/ic.asp";
HttpURLConnection conn=null;
String outerIPStr="";
try {
URL url=new URL(checkURL);
conn=(HttpURLConnection) url.openConnection();
conn.setInstanceFollowRedirects(false);
conn.connect();
BufferedReader reader=new BufferedReader(new InputStreamReader(conn.getInputStream()));
while((outerIPStr=reader.readLine()) != null){
if(outerIPStr.indexOf("[") > 0){
outerIPStr=outerIPStr.substring(outerIPStr.indexOf("[")+1,outerIPStr.indexOf("]"));
break;
}
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return outerIPStr;
}
}


其中System.getProperties中包含很多的信息,包括:
Java中System.getProperty的使用    
public  class  YourJavaProperties {   
     public  static  void  main(String args[]){   
         Properties props=System.getProperties();    
            
         System.out.println( "Java的运行环境版本:" +props.getProperty( "java.version" ));   
         System.out.println( "Java的运行环境供应商:" +props.getProperty( "java.vendor" ));   
         System.out.println( "Java供应商的URL:" +props.getProperty( "java.vendor.url" ));   
         System.out.println( "Java的安装路径:" +props.getProperty( "java.home" ));   
         System.out.println( "Java的虚拟机规范版本:" +props.getProperty( "java.vm.specification.version" ));   
         System.out.println( "Java的虚拟机规范供应商:" +props.getProperty( "java.vm.specification.vendor" ));   
         System.out.println( "Java的虚拟机规范名称:" +props.getProperty( "java.vm.specification.name" ));   
         System.out.println( "Java的虚拟机实现版本:" +props.getProperty( "java.vm.version" ));   
         System.out.println( "Java的虚拟机实现供应商:" +props.getProperty( "java.vm.vendor" ));   
         System.out.println( "Java的虚拟机实现名称:" +props.getProperty( "java.vm.name" ));   
         System.out.println( "Java运行时环境规范版本:" +props.getProperty( "java.specification.version" ));   
         System.out.println( "Java运行时环境规范供应商:" +props.getProperty( "java.specification.vender" ));   
         System.out.println( "Java运行时环境规范名称:" +props.getProperty( "java.specification.name" ));   
         System.out.println( "Java的类格式版本号:" +props.getProperty( "java.class.version" ));   
         System.out.println( "Java的类路径:" +props.getProperty( "java.class.path" ));   
         System.out.println( "加载库时搜索的路径列表:" +props.getProperty( "java.library.path" ));   
         System.out.println( "默认的临时文件路径:" +props.getProperty( "java.io.tmpdir" ));   
         System.out.println( "一个或多个扩展目录的路径:" +props.getProperty( "java.ext.dirs" ));   
         System.out.println( "操作系统的名称:" +props.getProperty( "os.name" ));   
         System.out.println( "操作系统的构架:" +props.getProperty( "os.arch" ));   
         System.out.println( "操作系统的版本:" +props.getProperty( "os.version" ));   
         System.out.println( "文件分隔符:" +props.getProperty( "file.separator" ));    //在 unix 系统中是"/"   
         System.out.println( "路径分隔符:" +props.getProperty( "path.separator" ));    //在 unix 系统中是":"   
         System.out.println( "行分隔符:" +props.getProperty( "line.separator" ));    //在 unix 系统中是"/n"   
         System.out.println( "用户的账户名称:" +props.getProperty( "user.name" ));   
         System.out.println( "用户的主目录:" +props.getProperty( "user.home" ));   
         System.out.println( "用户的当前工作目录:" +props.getProperty( "user.dir" ));   
     }   
}


 

你可能感兴趣的:(java)