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"
));
System.out.println(
"路径分隔符:"
+props.getProperty(
"path.separator"
));
System.out.println(
"行分隔符:"
+props.getProperty(
"line.separator"
));
System.out.println(
"用户的账户名称:"
+props.getProperty(
"user.name"
));
System.out.println(
"用户的主目录:"
+props.getProperty(
"user.home"
));
System.out.println(
"用户的当前工作目录:"
+props.getProperty(
"user.dir"
));
}
}