1.4.2.1.1. io分类
数据单位:子节流(8bit) ,字符流(16bit)
流向不同:输入流,输出流
角色:节点流,处理流
抽象基类 | 字节流 | 字符流 |
---|---|---|
输入流 | InputStream | Reader |
输出流 | OutputStream | Writer |
1.4.2.1.2. 转换流
使用转换流来处理乱码问题,实现编解码功能
- inputStreamReader: 将inputStream 转换为Reader
- OutputStreamWriter:将writer转为OutputSteam
1.4.2.1.3. RandomAccessFile
- 直接继承Object,实现DataInput 和DataOutput接口
- 即可座位输入流,又可作为输出流
- 如果作为输出流,文件不存在时,则自动创建。如果写出到文件已存在,则覆盖原有文件内容(从头覆盖)
- seek 通过指针跳过进行覆盖
1.4.2.1.4. Path
1.4.2.1.5. Files
1.4.2.1.6. 网络编程
目的: 直接或间接地通过网络协议与其它计算机实现数据交换,进行通讯。
问题:
如何准确地定位网络上一台或多台主机;定位主机上的特定的应用
如何准确地定位网络上一台或多台主机;定位主机上的特定的应用
1.4.2.1.6.1. IP 地址:InetAddress
- 唯一的标识 Internet 上的计算机(通信实体)
本地回环地址(hostAddress):127.0.0.1 主机名(hostName):localhost
IP地址分类方式1:IPV4 和 IPV6
IPV4:4个字节组成,4个0-255。大概42亿,30亿都在北美,亚洲4亿。2011年初已
经用尽。以点分十进制表示,如192.168.0.1
- IPV6:128位(16个字节),写成8个无符号整数,每个整数用四个十六进制位表示,
数之间用冒号(:)分开,如:3ffe:3201:1401:1280:c8ff:fe4d:db39:1984
- IP地址分类方式2:公网地址(万维网使用)和私有地址(局域网使用)。192.168.
开头的就是私有址址,范围即为192.168.0.0--192.168.255.255,专门为组织机
构内部使用
- 特点:不易记忆
1.4.2.1.6.2. 端口号 标识正在计算机上运行的进程(程序)
不同的进程有不同的端口号
被规定为一个 16 位的整数 0~65535。
端口分类:
- 公认端口:0~1023。被预先定义的服务通信占用(如:HTTP占用端口80,FTP占用端口21,Telnet占用端口23)
- 注册端口:1024~49151。分配给用户进程或应用程序。(如:Tomcat占用端口8080,MySQL占用端口3306,Oracle占用端口1521等)。
- 动态**/私有端口:49152~65535。
- 端口号与IP地址的组合得出一个网络套接字:Socket。
1.4.2.1.6.3. TCP/UDP
TCP协议: 打电话
使用TCP协议前,须先建立TCP连接,形成传输数据通道
传输前,采用“三次握手”方式,点对点通信,是可靠的
TCP协议进行通信的两个应用进程:客户端、服务端。
在连接中可进行大数据量的传输
传输完毕,需释放已建立的连接,效率低
UDP 协议:发电报
将数据、源、目的封装成数据包,不需要建立连接
每个数据报的大小限制在64K内
发送不管对方是否准备好,接收方收到也不确认,故是不可靠的
可以广播发送
发送数据结束时无需释放资源,开销小,速度快