请管理员不要把这个帖子转到提问区,我主要是想让大家讨论下,谢谢
列出我的笔记本上可用的网络接口,但是,无论如何就是乱码,
我的笔记本是 联想Y430;OS: windows xp pro sp3;JDK: 1.4.2_10
代码非常简单,如下:
package examples.a06;
import java.net.NetworkInterface;
import java.util.Enumeration;
public class InterfaceLister {
public static void main(String[] args) throws Exception {
Enumeration interfaces = NetworkInterface.getNetworkInterfaces();
while (interfaces.hasMoreElements()) {
NetworkInterface ni = (NetworkInterface) interfaces.nextElement();
System.out.println(ni);
}
}
}
输出是:
name:lo (MS TCP Loopback interface) index: 1 addresses:
/127.0.0.1;
name:eth0 (W-ibeda virtual adapter - ????ü??????ò?????) index: 2 addresses:
name:eth1 (Broadcom NetLink (TM) Fast Ethernet - ????ü??????ò?????) index: 65540 addresses:
/192.168.0.100;
name:eth2 (Intel(R) Wireless WiFi Link 5100 - ????ü??????ò?????) index: 458757 addresses:
name:ppp0 (WAN (PPP/SLIP) Interface) index: 786438 addresses:
/117.88.171.252;
我甚至把程序改成如下,但还是不能得到正确的结果:
package examples.a06;
import java.net.NetworkInterface;
import java.util.Enumeration;
public class InterfaceLister {
public static final String[] ENCODEING = { "iso-8859-1", "gb2312",
"gbk", "big5", "gb18030", "utf-8", "utf-16"};
public static void main(String[] args) throws Exception {
Enumeration interfaces = NetworkInterface.getNetworkInterfaces();
while (interfaces.hasMoreElements()) {
NetworkInterface ni = (NetworkInterface) interfaces.nextElement();
String strDisplay = ni.toString();
for (int i = 0; i < ENCODEING.length; i++) {
byte[] bArray = strDisplay.getBytes(ENCODEING[i]);
for (int k = 0; k < ENCODEING.length; k++) {
String newStr = new String(bArray, ENCODEING[k]);
System.out.println(ENCODEING[i] + "-->" + ENCODEING[k]);
System.out.println(newStr);
System.out
.println("***************************************");
}
}
}
}
}
我怀疑这个JDK的一个bug,也就是说,NetworkInterface 中的 displayName 在JDK内部就是乱码的,否则不会出现这种情况的
另外:在CSDN上挂了好几天,也没人能解决这个问题,所以,发到这里和大家一起讨论下,我还就不信了这个问题不能解决了
分享到:
相关推荐
JavaFocus:hammer: Java学习重点 ...success和isSuccessequals 和 ==String为什么是不可变的字符串常量池为什么直接定义的字符串可以调用String对象的各种方法JDK6 和 JDK7 substring原理的改变字符串拼接的几种方式
* 根据指定字符集将字节数组中从指定下标开始到指定长度结束的数据转换为字符串 * charsetName:字符集名 例如 : "GBK"、"UTF-8" 、"ISO-8859-1" * * 不常用 * 3.String(byte[] ...
实例081 去掉字符串中的所有空格 101 实例082 汉字与区位码的转换 102 第5章 面向对象技术应用 103 5.1 Java中类的定义 104 实例083 自定义图书类 104 实例084 温度单位转换工具 105 实例085 域的默认初始化值 106 ...
Md5Utils - 获取字符串或文件的md5 excel ReadExcel2003 - 以model方式读2003版Excel(大数据) ReadExcel2007 - 以sax方式读2007版Excel(大数据) WriteExcel - 写Excel image CaptchaUtils - 生成验证码 ...
实例40 替换字符串中的部分字符 92 实例41 Java字符串之密码加密 93 实例42 正则表达式验证字符串 95 第7章 Java常用类 98 实例43 数字的舍入 98 实例44 转换数字的进制 101 实例45 随机数 103 实例46 Java ...
35、MySQL、SqlServer、oracle写出字符存储、字符串转时间 52 36、update语句可以修改结果集中的数据吗? 53 37、oracle如何设置主键自动增长? 53 38、表连接、子查询的区别是什么?它们可以相互转化吗?你倾向于用...
5.2.4 字符串绘制 5.2.5 图像绘制 5.2.6 图像旋转 5.2.7 图像缩放 5.2.8 图像像素操作 5.2.9 Shader类介绍 5.2.10 双缓冲技术 5.2.11 全屏显示 5.2.12 获得屏幕属性 5.3 动画实现 5.3.1 Tween动画 5.3.2 Frame动画 ...
5.2.4 字符串绘制 5.2.5 图像绘制 5.2.6 图像旋转 5.2.7 图像缩放 5.2.8 图像像素操作 5.2.9 Shader类介绍 5.2.10 双缓冲技术 5.2.11 全屏显示 5.2.12 获得屏幕属性 5.3 动画实现 5.3.1 Tween...
5.2.4 字符串绘制 5.2.5 图像绘制 5.2.6 图像旋转 5.2.7 图像缩放 5.2.8 图像像素操作 5.2.9 Shader类介绍 5.2.10 双缓冲技术 5.2.11 全屏显示 5.2.12 获得屏幕属性 5.3 动画实现 5.3.1 Tween...
5.2.4 字符串绘制 5.2.5 图像绘制 5.2.6 图像旋转 5.2.7 图像缩放 5.2.8 图像像素操作 5.2.9 Shader类介绍 5.2.10 双缓冲技术 5.2.11 全屏显示 5.2.12 获得屏幕属性 5.3 动画实现 5.3.1 Tween动画 5.3.2 Frame动画 ...
}2 b9 E( w8 I 59.04 商品分类检索列表 60.05 商品属性检索介绍 61.06 ajax字符串数组传参 62.07 ajax字符串json传参& i' g9 \7 ^! e7 _ 63.08 表单序列化传参 64.09 动态sql的设计方法" o# D. ?# R% _1 X 65.10 ...