- 浏览: 687501 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (254)
- java分布式应用架构 (22)
- SSH框架整合 (6)
- java web 学习笔记 (49)
- java 学习笔记 (56)
- struts 2 学习 (6)
- Hibernate学习 (10)
- spring 学习 (2)
- 客户端编程(javascript) (4)
- IDE使用 (13)
- 生命 人生 (6)
- 系统维护 (3)
- 技术篇 (10)
- MySql (2)
- J2ME (1)
- java网络编程 (4)
- 数据库 (5)
- C/C++ (8)
- Oracle (7)
- 软件测试 (0)
- 软件的安装和部署 (0)
- Java快讯 (1)
- swt (1)
- Flex (1)
- 软件工程 (1)
- PostgreSQL (1)
- sql server2000 (2)
- 嵌入式数据库sqlite (5)
- J2EE (1)
- XML (1)
- ibatis3(MyBatis) (6)
- Linux&Unix (1)
- velocity (1)
- 回报社会 (4)
- 软件项目管理 (3)
- android研究 (3)
- C# (2)
- Objective-C (1)
- 音乐 (0)
- webx (1)
- JMS (1)
- maven软件项目管理 (1)
- 分布式服务 (0)
- 云平台 (0)
- 分布式存储 (1)
- 分布式系统架构 (0)
- 移动互联网 (1)
- ZooKeeper (1)
最新评论
-
liyys:
楼主,可不可以发这个项目的源码工程出来分享一下,少了几个类。楼 ...
仿照Hibernate实现一个SQLite的ORM框架 -
liyys:
少了一些类的源码没有粘贴出来
仿照Hibernate实现一个SQLite的ORM框架 -
honglei0412:
我使用的是这种方式获取db文件的目录但是 URL p = Fi ...
使用sqlite注意事项 -
honglei0412:
大侠 能不能说明下DbFile您是怎么做的吗?
使用sqlite注意事项 -
ahack:
刚写完mapping才发现早就有人写好了。仔细一看还都是针对的 ...
仿照Hibernate实现一个SQLite的ORM框架
从JDK1.4开始,Java提供了一个NetworkInterface类。这个类可以得到本机所有的物理网络接口和虚拟机等软件利用本机的物理网络接口创建的逻辑网络接口的信息。
一、创建NetworkInterface对象的两个静态方法
NetworkInerface类和InetAddress一样,也没有public的构造方法。因此,必须通过它的两个静态方法来创建NetworkInterface对象。可以使用两种方法来创建NetworkInterface对象:网络接口名(getByName方法)和IP地址(getByInetAddress方法)。
1. getByName方法
这个方法可以通过网络接口名来创建NetworkInterface对象。这个网络接口名并不是计算机名,而是用于标识物理或逻辑网络接口的名字,一般是由操作系统设置的。网络接口名在大多数操作系统上(包括Windows、Linux和Unix)是以eth开头,后面是网络接口的索引号,从0开始。如本机安了三块网卡,那么网络接口名就依次是eth0、eth1和eth2。NetworkInterface对象的toString方法可以返回网络接口的名称、显示名和这个网络接口上绑字的所有IP地址等信息。当网络接口名不存在时,getByName返回null。getByName方法定义如下:
public static NetworkInterface getByName(String name) throws SocketException
下面的代码是一个显示指定网络接口信息的程序,网络接口名通过命令行参数传入。
package mynet;
import java.net.*;
public class MyNetworkInterface1
{
public static void main(String[] args) throws Exception
{
if (args.length == 0)
return;
NetworkInterface ni = NetworkInterface.getByName(args[0]);
System.out.println((ni == null) ? "网络接口不存在!" : ni);
}
}
* 测试1
执行如下命令:
java mynet.MyNetworkInterface1 eth0
运行结果:
name:eth0 (Realtek RTL8139 Family PCI Fast Ethernet NIC) index: 4 addresses:
/192.168.18.10;
/192.168.18.20;
* 测试2
执行如下命令:
java mynet.MyNetworkInterface1 abcd
运行结果:
网络接口不存在!
2. getByInetAddress方法
除了可以使用网络接口名来得到网络接口的信息,还可以利用getByInetAddress方法来确定一个IP地址属于哪一个网络接口。由于getByInetAddress方法必须使用一个InetAddress对象封装的IP地址来作为参数,因此,在使用getByInetAddress方法之前,必须先创建一个InetAddress对象。但要注意不能使用远程的IP的域名来创建InetAddress对象,否则getByInetAddress将返回null。getByInetAddress方法的定义如下:
public static NetworkInterface getByInetAddress(InetAddress addr) throws SocketException
下面代码可以确定一个IP地址属于哪一个网络接口,这个IP地址通过命令行参数传入。
package mynet;
import java.net.*;
public class MyNetworkInterface2
{
public static void main(String[] args) throws Exception
{
if(args.length == 0) return;
InetAddress local = InetAddress.getByName(args[0]);
NetworkInterface ni = NetworkInterface.getByInetAddress(local);
System.out.println((ni == null) ? "本机不存在此IP地址!" : ni);
}
}
* 测试1
执行如下命令:
java mynet.MyNetworkInterface2 127.0.0.1
运行结果:
name:lo (MS TCP Loopback interface) index: 1 addresses:
/127.0.0.1;
/0:0:0:0:0:0:0:1;
* 测试2
执行如下命令:
java mynet.MyNetworkInterface2 218.61.151.22
运行结果:
name:ppp0 (WAN (PPP/SLIP) Interface) index: 0 addresses:
/218.61.151.22;
测试2使用的IP地址218.61.151.22是ADSL连接临时分配给本机的IP地址,因此,运行结果返回的ppp0是ADSL网络接口。
二、得到本机所有的网络接口
NetworkInterface可以通过getNetworkInterfaces方法来枚举本机所有的网络接口。我们也可以利用getNetworkInterfaces得到的网络接口来枚举本机的所有IP地址。当然,也可以通过InetAddress类的getAllByName来得到本机的所有IP地址。但getNetworkInterfaces方法可以按网络接口将这些IP地址进行分组,这对于只想得到某个网络接口上的所有IP地址是非常有用的。getNetworkInterfaces方法的定义如下:
public static Enumeration<NetworkInterface> getNetworkInterfaces() throws SocketException
下面代码演示了如何使用getNetworkInterfaces方法得到本机所有的网络接口。
package mynet;
import java.net.*;
import java.util.*;
public class MyNetworkInterface3
{
public static void main(String[] args) throws Exception
{
Enumeration<NetworkInterface> nis = NetworkInterface.getNetworkInterfaces();
while (nis.hasMoreElements())
System.out.println(nis.nextElement());
}
}
运行结果(部分):
name:lo (MS TCP Loopback interface) index: 1 addresses:
/127.0.0.1;
/0:0:0:0:0:0:0:1;
name:eth0 (Realtek RTL8139 Family PCI Fast Ethernet NIC ) index: 4 addresses:
/192.168.18.10;
/192.168.18.20;
name:ppp0 (WAN (PPP/SLIP) Interface) index: 0 addresses:
/218.61.151.22;
上面的运行结果只是一种可能的结果,读者在运行上面的程序时根据本机的硬件和软件的配置不同,运行结果可能会有所不同。
三、NetworkInterface类的Getter方法
NetworkInterface类提供了三个方法可以分别得到网络接口名(getName方法)、网络接口别名(getDisplayName方法)以及和网络接口绑定的所有IP地址(getInetAddresses方法)。
1. getName方法
这个方法用来得到一个网络接口的名称。这个名称就是使用getByName方法创建NetworkInterface对象时使用的网络接口名,如eth0、ppp0等。getName方法的定义如下:
public String getName()
2. getDisplayName方法
这个方法可以得到更容易理解的网络接口名,也可以将这个网络接口名称为网络接口别名。在一些操作系统中(如Unix),getDisplayName方法和getName方法的返回值相同,但在Windows中getDisplayName方法一般会返回一个更为友好的名字,如Realtek RTL8139 Family PCI Fast Ethernet NIC。getDisplayName方法的定义如下:
public String getDisplayName()
3. getInetAddresses方法
NetworkInterface类可以通过getInetAddresse方法以InetAddress对象的形式返回和网络接口绑定的所有IP地址。getInetAddresses方法的定义如下:
public Enumeration<InetAddress> getInetAddresses()
上面的代码演示了如果使用上述三个Getter方法。
package mynet;
import java.net.*;
import java.util.*;
public class MyNetworkInterface4
{
public static void main(String[] args) throws Exception
{
if (args.length == 0)
return;
NetworkInterface ni = NetworkInterface.getByName(args[0]);
System.out.println("Name: " + ni.getName());
System.out.println("DisplayName: " + ni.getDisplayName());
Enumeration<InetAddress> addresses = ni.getInetAddresses();
while (addresses.hasMoreElements())
System.out.println(addresses.nextElement().getHostAddress());
}
}
1. 测试
执行如下命令:
java mynet.MyNetworkInterface4 eth0
运行结果:
Name: eth0
DisplayName: Realtek RTL8139 Family PCI Fast Ethernet NIC
192.168.18.10
192.168.18.20
NetworkInterface.getHardwareAddress 这个方法就是获得机器的MAC地址的。
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.Formatter;
import java.util.Locale;
/**
* 使用JAVA代码获得系统的MAC地址和IP地址。
*
* @author 享受JAVA(enjoyjava.net)
*/
public class TestIpMac {
public static void main(String[] args) throws Exception {
InetAddress address = InetAddress.getLocalHost(); // 获得当前主机地址
NetworkInterface ni = NetworkInterface.getByInetAddress(address); // 获得网络接口
byte[] mac = ni.getHardwareAddress(); // 获得硬件的MAC地址
String sIP = address.getHostAddress(); // 获得IP地址
String sMAC = "";
Formatter formatter = new Formatter();
for (int i = 0; i < mac.length; i++) { // 组合成MAC的字符串
sMAC = formatter.format(Locale.getDefault(), "%02X%s", mac[i], (i < mac.length - 1) ? "-" : "").toString();
}
System.out.println("IP:" + sIP);
System.out.println("MAC:" + sMAC);
}
}
一、创建NetworkInterface对象的两个静态方法
NetworkInerface类和InetAddress一样,也没有public的构造方法。因此,必须通过它的两个静态方法来创建NetworkInterface对象。可以使用两种方法来创建NetworkInterface对象:网络接口名(getByName方法)和IP地址(getByInetAddress方法)。
1. getByName方法
这个方法可以通过网络接口名来创建NetworkInterface对象。这个网络接口名并不是计算机名,而是用于标识物理或逻辑网络接口的名字,一般是由操作系统设置的。网络接口名在大多数操作系统上(包括Windows、Linux和Unix)是以eth开头,后面是网络接口的索引号,从0开始。如本机安了三块网卡,那么网络接口名就依次是eth0、eth1和eth2。NetworkInterface对象的toString方法可以返回网络接口的名称、显示名和这个网络接口上绑字的所有IP地址等信息。当网络接口名不存在时,getByName返回null。getByName方法定义如下:
public static NetworkInterface getByName(String name) throws SocketException
下面的代码是一个显示指定网络接口信息的程序,网络接口名通过命令行参数传入。
package mynet;
import java.net.*;
public class MyNetworkInterface1
{
public static void main(String[] args) throws Exception
{
if (args.length == 0)
return;
NetworkInterface ni = NetworkInterface.getByName(args[0]);
System.out.println((ni == null) ? "网络接口不存在!" : ni);
}
}
* 测试1
执行如下命令:
java mynet.MyNetworkInterface1 eth0
运行结果:
name:eth0 (Realtek RTL8139 Family PCI Fast Ethernet NIC) index: 4 addresses:
/192.168.18.10;
/192.168.18.20;
* 测试2
执行如下命令:
java mynet.MyNetworkInterface1 abcd
运行结果:
网络接口不存在!
2. getByInetAddress方法
除了可以使用网络接口名来得到网络接口的信息,还可以利用getByInetAddress方法来确定一个IP地址属于哪一个网络接口。由于getByInetAddress方法必须使用一个InetAddress对象封装的IP地址来作为参数,因此,在使用getByInetAddress方法之前,必须先创建一个InetAddress对象。但要注意不能使用远程的IP的域名来创建InetAddress对象,否则getByInetAddress将返回null。getByInetAddress方法的定义如下:
public static NetworkInterface getByInetAddress(InetAddress addr) throws SocketException
下面代码可以确定一个IP地址属于哪一个网络接口,这个IP地址通过命令行参数传入。
package mynet;
import java.net.*;
public class MyNetworkInterface2
{
public static void main(String[] args) throws Exception
{
if(args.length == 0) return;
InetAddress local = InetAddress.getByName(args[0]);
NetworkInterface ni = NetworkInterface.getByInetAddress(local);
System.out.println((ni == null) ? "本机不存在此IP地址!" : ni);
}
}
* 测试1
执行如下命令:
java mynet.MyNetworkInterface2 127.0.0.1
运行结果:
name:lo (MS TCP Loopback interface) index: 1 addresses:
/127.0.0.1;
/0:0:0:0:0:0:0:1;
* 测试2
执行如下命令:
java mynet.MyNetworkInterface2 218.61.151.22
运行结果:
name:ppp0 (WAN (PPP/SLIP) Interface) index: 0 addresses:
/218.61.151.22;
测试2使用的IP地址218.61.151.22是ADSL连接临时分配给本机的IP地址,因此,运行结果返回的ppp0是ADSL网络接口。
二、得到本机所有的网络接口
NetworkInterface可以通过getNetworkInterfaces方法来枚举本机所有的网络接口。我们也可以利用getNetworkInterfaces得到的网络接口来枚举本机的所有IP地址。当然,也可以通过InetAddress类的getAllByName来得到本机的所有IP地址。但getNetworkInterfaces方法可以按网络接口将这些IP地址进行分组,这对于只想得到某个网络接口上的所有IP地址是非常有用的。getNetworkInterfaces方法的定义如下:
public static Enumeration<NetworkInterface> getNetworkInterfaces() throws SocketException
下面代码演示了如何使用getNetworkInterfaces方法得到本机所有的网络接口。
package mynet;
import java.net.*;
import java.util.*;
public class MyNetworkInterface3
{
public static void main(String[] args) throws Exception
{
Enumeration<NetworkInterface> nis = NetworkInterface.getNetworkInterfaces();
while (nis.hasMoreElements())
System.out.println(nis.nextElement());
}
}
运行结果(部分):
name:lo (MS TCP Loopback interface) index: 1 addresses:
/127.0.0.1;
/0:0:0:0:0:0:0:1;
name:eth0 (Realtek RTL8139 Family PCI Fast Ethernet NIC ) index: 4 addresses:
/192.168.18.10;
/192.168.18.20;
name:ppp0 (WAN (PPP/SLIP) Interface) index: 0 addresses:
/218.61.151.22;
上面的运行结果只是一种可能的结果,读者在运行上面的程序时根据本机的硬件和软件的配置不同,运行结果可能会有所不同。
三、NetworkInterface类的Getter方法
NetworkInterface类提供了三个方法可以分别得到网络接口名(getName方法)、网络接口别名(getDisplayName方法)以及和网络接口绑定的所有IP地址(getInetAddresses方法)。
1. getName方法
这个方法用来得到一个网络接口的名称。这个名称就是使用getByName方法创建NetworkInterface对象时使用的网络接口名,如eth0、ppp0等。getName方法的定义如下:
public String getName()
2. getDisplayName方法
这个方法可以得到更容易理解的网络接口名,也可以将这个网络接口名称为网络接口别名。在一些操作系统中(如Unix),getDisplayName方法和getName方法的返回值相同,但在Windows中getDisplayName方法一般会返回一个更为友好的名字,如Realtek RTL8139 Family PCI Fast Ethernet NIC。getDisplayName方法的定义如下:
public String getDisplayName()
3. getInetAddresses方法
NetworkInterface类可以通过getInetAddresse方法以InetAddress对象的形式返回和网络接口绑定的所有IP地址。getInetAddresses方法的定义如下:
public Enumeration<InetAddress> getInetAddresses()
上面的代码演示了如果使用上述三个Getter方法。
package mynet;
import java.net.*;
import java.util.*;
public class MyNetworkInterface4
{
public static void main(String[] args) throws Exception
{
if (args.length == 0)
return;
NetworkInterface ni = NetworkInterface.getByName(args[0]);
System.out.println("Name: " + ni.getName());
System.out.println("DisplayName: " + ni.getDisplayName());
Enumeration<InetAddress> addresses = ni.getInetAddresses();
while (addresses.hasMoreElements())
System.out.println(addresses.nextElement().getHostAddress());
}
}
1. 测试
执行如下命令:
java mynet.MyNetworkInterface4 eth0
运行结果:
Name: eth0
DisplayName: Realtek RTL8139 Family PCI Fast Ethernet NIC
192.168.18.10
192.168.18.20
NetworkInterface.getHardwareAddress 这个方法就是获得机器的MAC地址的。
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.Formatter;
import java.util.Locale;
/**
* 使用JAVA代码获得系统的MAC地址和IP地址。
*
* @author 享受JAVA(enjoyjava.net)
*/
public class TestIpMac {
public static void main(String[] args) throws Exception {
InetAddress address = InetAddress.getLocalHost(); // 获得当前主机地址
NetworkInterface ni = NetworkInterface.getByInetAddress(address); // 获得网络接口
byte[] mac = ni.getHardwareAddress(); // 获得硬件的MAC地址
String sIP = address.getHostAddress(); // 获得IP地址
String sMAC = "";
Formatter formatter = new Formatter();
for (int i = 0; i < mac.length; i++) { // 组合成MAC的字符串
sMAC = formatter.format(Locale.getDefault(), "%02X%s", mac[i], (i < mac.length - 1) ? "-" : "").toString();
}
System.out.println("IP:" + sIP);
System.out.println("MAC:" + sMAC);
}
}
发表评论
-
Java编程中“为了性能”尽量要做到的一些地方
2012-09-14 10:33 12281. 尽量在合适的场合使 ... -
Java 5.0多线程编程
2012-08-17 19:16 1075概述 1:三个新加的多线程包 2:C ... -
Thread.setDaemon设置说明
2012-06-28 18:00 1162Thread.setDaemon的用法,经过学习以后了解: ... -
JVM运行时数据区
2012-03-07 13:15 1011JVM定义了若干个程序执行期间使用的数据区域。这个区域里的一些 ... -
使用ibatis防止sql注入
2011-12-19 19:59 4670为了防止SQL注入,iBatis模糊查询时也要避免使用$$来进 ... -
java的引用探讨
2011-12-18 16:03 1137Reference 是一个抽象类,而 SoftReferenc ... -
ClassLoader
2011-11-04 15:11 1202package org.liufei.neta.lib; ... -
仿照Hibernate实现一个SQLite的ORM框架
2011-09-30 20:06 3202那么先来看看使用 实体对象 package test; ... -
java压缩文件
2011-09-20 11:09 1302package org.liufei.net.util; ... -
获取客户机IP地址
2011-09-07 15:04 1041package org.liufei.jweb; imp ... -
Java读取本地机器MAC地址
2011-09-07 15:01 1310package org.liufei.jweb; imp ... -
获取IP地址
2011-09-07 13:41 2431public String getIpAddrByReques ... -
用CSS来美化Java桌面--Javacss
2011-09-02 12:14 1340CSS可以用来修饰HTML网页。 但你有没有想过,使用CSS ... -
java管理windows进程
2011-08-29 17:34 1790package org.zzuli.xmsb; /** ... -
java html工具
2011-08-29 17:26 1092package org.liufei.jweb.util; ... -
java将汉字转化为全拼
2011-08-29 17:24 1239package org.liufei.jweb.util; ... -
开源项目SVN源码地址
2011-08-22 16:20 3561多优秀的开源项目已经提供SVN源码签出了,无论是解疑还是学习, ... -
XML解析
2011-08-22 09:58 10321、DOM解析XML <?xml version=&q ... -
jdbc操作大观园
2011-08-09 17:22 1392最近公司使用jdbc和mybatis比较多,于是自己试着写了一 ... -
Windows XP系统总命令集合
2011-08-05 14:08 1086Windows XP系统总命令集合 winver----- ...
相关推荐
- **DNS解析**:Java的NetworkInterface类和InetAddress类可用于查询网络接口信息和执行DNS查询。 这些源代码实例将覆盖上述各个主题,通过实际操作加深对Java网络编程的理解。在学习过程中,读者可以调试、修改...
- **网络接口信息**:`NetworkInterface`类提供了一个接口,用于获取系统的网络接口信息,包括名称、硬件地址、子网掩码等。 - **主机可达性**:`isReachable()`方法用于测试两台主机之间是否可以通信,通常用于简单...
- **NetworkInterface类**:探讨了如何使用NetworkInterface类来获取网络接口信息。 ##### 2.5 URL与URI操作 - **URL类详解**:深入讲解了URL类的构造方法和常用API,例如如何构建URL对象、解析URL组件等。 - **...
在Java编程领域,网络编程是不可或缺的一部分,尤其是在构建分布式系统、服务器端应用或者网络通信工具时。本资源“Java网络高级编程”是一个401页的详细教程,旨在帮助开发者深入理解和掌握Java在网络编程中的高级...
NetworkInterface类 178 一些有用的程序 181 第七章 URL和URI 192 URL类 192 URLEncoder和URLDecoder类 216 URI类 222 代理 230 通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing...
NetworkInterface类 178 一些有用的程序 181 第七章 URL和URI 192 URL类 192 URLEncoder和URLDecoder类 216 URI类 222 代理 230 通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing...
NetworkInterface类 178 一些有用的程序 181 第七章 URL和URI 192 URL类 192 URLEncoder和URLDecoder类 216 URI类 222 代理 230 通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing...
另外,获取MAC地址通常需要使用`java.net.NetworkInterface`类,通过遍历所有网络接口并调用`getHardwareAddress()`来获取物理地址。 接着,关于操作系统信息,Java提供了`java.lang.management`包,其中的`...
NetworkInterface类 178 一些有用的程序 181 第七章 URL和URI 192 URL类 192 URLEncoder和URLDecoder类 216 URI类 222 代理 230 通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing...
这个项目可能使用了`java.net.NetworkInterface`类来获取网络接口信息,检查无线网络的状态。`InetAddress`类则用来获取和处理IP地址,判断网络是否可达。同时,可能使用了定时任务,如`java.util.Timer`和`java....
此外,如果需要获取所有网络接口的IP地址,可以枚举`NetworkInterface`,遍历其`InetAddress`,这在处理多网络接口的设备时很有用。 Java Socket编程还涉及许多其他关键概念,例如异常处理、线程同步、数据编码解码...
`NetworkInterface`类提供了获取系统网络接口的信息,例如名称、硬件地址等。 - **`NetworkInterface.getByName(String name)`**:通过网络接口名称获取`NetworkInterface`对象。 - **`NetworkInterface....
NetworkInterface类 178 一些有用的程序 181 第七章 URL和URI 192 URL类 192 URLEncoder和URLDecoder类 216 URI类 222 代理 230 通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing...
3. **网络接口(Network Interface)**:在Java中,`java.net.NetworkInterface`类提供了与网络接口相关的操作,包括获取所有网络接口、查找特定接口、获取接口的IP地址等。虽然不能直接修改IP,但这个类可以帮助...
NetworkInterface类 178 一些有用的程序 181 第七章 URL和URI 192 URL类 192 URLEncoder和URLDecoder类 216 URI类 222 代理 230 通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing...
NetworkInterface类 178 一些有用的程序 181 第七章 URL和URI 192 URL类 192 URLEncoder和URLDecoder类 216 URI类 222 代理 230 通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing...
NetworkInterface类 178 一些有用的程序 181 第七章 URL和URI 192 URL类 192 URLEncoder和URLDecoder类 216 URI类 222 代理 230 通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing...
NetworkInterface类 178 一些有用的程序 181 第七章 URL和URI 192 URL类 192 URLEncoder和URLDecoder类 216 URI类 222 代理 230 通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing...
NetworkInterface类 178 一些有用的程序 181 第七章 URL和URI 192 URL类 192 URLEncoder和URLDecoder类 216 URI类 222 代理 230 通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing...
NetworkInterface类 178 一些有用的程序 181 第七章 URL和URI 192 URL类 192 URLEncoder和URLDecoder类 216 URI类 222 代理 230 通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing...