…implement Externalizable
实现readExternal(ObjectInput in)和writeExternal(ObjectOutput out)
函数中调用(out.writeObject()/in.readObject())
readExternal()需要无参public构造方法
StreamTokenizer(Reader r)
Reader:以字符为单位的输入流
- 对输入流进行解析,调用nextToken()
- public int ttype,ttype的常数值:TT_WORD(字符串存入String nval),TT_NUMBER,TT_EOL
A TreeMap can keep keys in sorted order.
Counter()计数器、Set、Collection
StringTokenizer
正则表达式
(java.util.regex)
Pattern p=Pattern.compile(“…”)
Matcher m=p.matcher(“……”)
m.find()
Scanner文本扫描器
构造方法(File)(String)(InputStream)
网络编程
- 使用URL
- TCP编程
- UDP编程
URL类
统一资源定位符(Uniform Resource Locator)
构造方法
(“http://www.nankai.edu.cn")
(String Protocol(协议),String host,int port(缺省80端口),String file)
获取信息:getProtocol(),getHost(),getRef(),getPort(),getFile()…
利用URL获取网络资源
- 创建URL对象
- 使用URL对象的使用openStream(),返回InputStream
- 从InputStream读入信息
InetAddress类
代表一个IP地址
创建方法:static InetAddress getByName(“…”)获取本机地址:
- getLocalHost()
- getByName(null)
- getByName(“127.0.0.1”)
- getByName(“localhost”)
TCP:有连接的、可靠的数据流的传输有通信协议
使用:
Socket类(进行通讯)、ServerSocket类(提供监听)
(客户端只使用Socket,服务器端两个都需要)
Server端:
一个服务器可服务多个客户端->多客户机制->多线程
ServerSocket(int port,int count)
ServerSocket.accept(),返回Socket.若未返回,则线程阻塞
OutputStream<==>InputStream
Socket.getInputStream()
Client端:
Socket(String addr,int port)
UDP:无连接的、数据报的方式
使用DatagramPacket类(报文)、DatagramSocket类(发送或接收)