易截截图软件、单文件、免安装、纯绿色、仅160KB

用java获取本机IP地址

在网上找了几个用java获取本机IP地址的代码,发现都少都有些不完美,自己整理了一下.突然之间很想把自己的IP地址给获取了,虽然用系统自带命令可以得到,但自己想写一个程序获取一下,到网上搜索了一下java获取本机IP地址的方法,结果居然发现没有一个是可以用的,气的我老人家吐血,
这些人闭着眼睛写程序,写完了就往网上发,也不测试一下,害的我以为自己RP问题,老是获取不到正确的IP地址,强烈谴责!!!
为了表示鄙视,现把网上找到的主要的两种方法的不足给指出一下
方法一(只能在Windows上使用,Linux平台就gei屁了):
try
{
System.out.println("本机的IP = " + InetAddress.getLocalHost());
} catch (UnknownHostException e)
{
e.printStackTrace();
}
在Linux下的执行结果是:本机的IP = xxx/127.0.1.1 (其中xxx是你的计算机名,偶这里马赛克了)
方法二(宣称可以在Linux下执行)
Enumeration netInterfaces=NetworkInterface.getNetworkInterfaces();
InetAddress ip = null;
while(netInterfaces.hasMoreElements())
{
NetworkInterface ni=(NetworkInterface)netInterfaces.nextElement();
System.out.println(ni.getName());
ip=(InetAddress) ni.getInetAddresses().nextElement();
if( !ip.isSiteLocalAddress()
&& !ip.isLoopbackAddress()
&& ip.getHostAddress().indexOf(":")==-1)
{
System.out.println ("本机的ip=" + ip.getHostAddress());
break;
}
else
{
ip=null;
}
}
从红色部分的代码可以看到,该代码对于获取到的第一个NetworkInterface的IP地址的获取,没有循环的获取,只是对第一个IP地址进行了处理,这样就导致了如果第一个IP地址不是一个
Inet4Address的地址而是一个< span
id="ArticleContent1_ArticleContent1_lblContent">Inet6Address,这个判断 ip.getHostAddress().indexOf(":")==-1将永远是false,这个if条件进不去呀,多害人,强烈鄙视!
不过方法二思路是对了,就是有些小毛病,让偶修改了一下,最终版的可以在 Linux下正确执行的代码如下:
Enumeration allNetInterfaces = NetworkInterface.getNetworkInterfaces();
InetAddress ip = null;
while (allNetInterfaces.hasMoreElements())
{
NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
System.out.println(netInterface.getName());
En


相关文档:

Java中如何正确使用字体编码

首先声明一下,此文章时从网上转载的。如下的某些方法是确实管用,但是从中发现了有一点不足,就是原文笔者没考虑使用不同Web
Server时出现的情况,比如文章里我用
红色字体
画出来的部分代码在Tomcat跑的时候得用他说的方法,不过到了WebSphere的时候必须得用原先的
String name = request.getParameter("name& ......

Java中的字符编码与解码


import
 java
.io.BufferedReader;   
import
 java
.io.FileInputStream;   
import
 java
.io.FileNotFoundException;   
import
 java
.io.FileOutputStream;   
import
 java
.io.IOException;   
import
 java
. ......

java反射经典实例

Java提供了一套机制来动态执行方法和构造方法,以及数组操作等,这套机制就叫——反射。反射机制是如今很多流行框架的实现基础,其中包括Spring、Hibernate等。原理性的问题不是本文的重点,接下来让我们在实例中学习这套精彩的机制。
1. 得到某个对象的属性
public Object getProperty(Object owner, String f ......

java获取一个月前的时间

方法一:
SimpleDateFormat formatter =
new
SimpleDateFormat(
"yyyyMMdd"
);
      
Date currentTime =
new
java.util.Date();
//
得到当前系统时间

      
      
long
now = curr ......

收想找6k以上的工作吗 考验你的java面试题


考验你的java基础测试题:
      这是我设计的几道面试题,要求是题目尽量少,可以在5分钟内完成,但能基本反映出面试者的知识层次.所以我设计了六道题.
  如果你能独立完成(不用看资料,不借助调试)回答在60分以上,找个6000元以上的工作由我来给你介绍
  1.简述逻辑操作(&,|,^)与条件操作(& ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号