当前位置: 首页 > news >正文

IO流与网络编程

文章目录

  • IO流
    • 随机存取文件流
      • 读取文件内容
      • 写入文件内容
      • 流的基本应用小节
    • NIO.2中Path、Paths、Files类的使用
      • Path、Paths和Files核心API
  • 网络编程
    • 网络编程概述
      • 网络基础
    • 网络通信要素概述
      • 如何实现网络中的主机互相通信
    • IP和端口号
      • InetAddress类
    • 网络协议
      • TCP/IP协议簇
    • URL编程
      • URL类
      • URL类常用方法

IO流

随机存取文件流

  1. RandomAccessFile 声明在java.io包下,但直接继承于java.lang.Object类

  2. RandomAccessFile 类支持 “随机访问” 的方式,程序可以直接跳到文件的任意地方来读、写文件

    • 支持只访问文件的部分内容
    • 可以向已存在的文件后追加内容
  3. 构造器

    • public RandomAccessFile(File file, String mode)
    • public RandomAccessFile(String name, String mode)

读取文件内容

RandomAccessFile raf = new RandomAccessFile(“test.txt”, “rw”);
raf.seek(5);
byte [] b = new byte[1024];
int off = 0;
int len = 5;
raf.read(b, off, len);
String str = new String(b, 0, len);
System.out.println(str);
raf.close();

写入文件内容

RandomAccessFile raf = new RandomAccessFile("test.txt", "rw");
raf.seek(5);
//先读出来
String temp = raf.readLine();
raf.seek(5);
raf.write("xyz".getBytes());
raf.write(temp.getBytes());
raf.close();

流的基本应用小节

  1. 流是用来处理数据的。
  2. 处理数据时,一定要先明确数据源,与数据目的地
  3. 而流只是在帮助数据进行传输,并对传输的数据进行处理,比如过滤处理、转换处理等。

NIO.2中Path、Paths、Files类的使用

Path、Paths和Files核心API

  1. 早期的Java只提供了一个File类来访问文件系统,但File类的功能比较有限,所提供的方法性能也不高。而且,大多数方法在出错时仅返回失败,并不会提供异常信息
  2. NIO. 2为了弥补这种不足,引入了Path接口,代表一个平台无关的平台路径,描述了目录结构中文件的位置。Path可以看成是File类的升级版本,实际引用的资源也可以不存在。

网络编程

网络编程概述

网络基础

  1. 网络编程的目的:直接或间接地通过网络协议与其它计算机实现数据交换,进行通讯。
  2. 网络编程中有两个主要的问题:
    • 如何准确地定位网络上一台或多台主机;定位主机上的特定的应用
    • 找到主机后如何可靠高效地进行数据传输

网络通信要素概述

如何实现网络中的主机互相通信

  1. 通信双方地址
    • IP
    • 端口号
  2. 网络通信协议。
    • OSI参考模型
    • TCP/IP参考模型(或TCP/IP协议)

IP和端口号

  • IP 地址:InetAddress

    1. 唯一的标识 Internet 上的计算机
    2. 本地回环地址(hostAddress):127.0.0.1 主机名(hostName):localhost
    3. IP地址分类方式1:IPV4 和 IPV6
    4. IP地址分类方式2:公网地址(万维网使用)和私有地址(局域网使用)。192.168.开头的就是私有址址,范围即为192.168.0.0–192.168.255.255,专门为组织机构内部使用
  • 端口号

    1. 不同的进程有不同的端口号
    2. 被规定为一个 16 位的整数 0~65535。
    3. 端口分类
    4. 公认端口:0~1023。
    5. 注册端口:1024~49151。
    6. 动态/私有端口:49152~65535。
    7. 端口号与IP地址的组合得出一个网络套接字:Socket。

InetAddress类

  1. Internet上的主机有两种方式表示地址
  2. InetAddress类主要表示IP地址,两个子类:Inet4Address、Inet6Address。
  3. InetAddress类没有提供公共的构造器,而是提供了如下几个静态方法来获取InetAddress实例
  4. InetAddress提供了如下几个常用的方法

网络协议

TCP/IP协议簇

  1. 传输层协议中有两个非常重要的协议:
    • 传输控制协议TCP
    • 用户数据报协议UDP
  2. TCP/IP 以其两个主要协议:传输控制协议(TCP)和网络互联协议(IP)而得名
  3. IP(Internet Protocol)协议是网络层的主要协议,支持网间互连的数据通信。
  4. TCP/IP协议模型从更实用的角度出发,形成了高效的四层体系结构,即物理链路层、IP层、传输层和应用层

URL编程

URL类

  1. URL(Uniform Resource Locator):统一资源定位符,它表示 Internet 上某一资源的地址。
  2. 它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源
  3. URL的基本结构由5部分组成:
    <传输协议>://<主机名>:<端口号>/<文件名>#片段名?参数列表

URL类常用方法

public String getProtocol( ) 获取该URL的协议名
public String getHost( ) 获取该URL的主机名
public String getPort( ) 获取该URL的端口号
public String getPath( ) 获取该URL的文件路径
public String getFile( ) 获取该URL的文件名
public String getQuery( ) 获取该URL的查询名

http://www.dtcms.com/a/406610.html

相关文章:

  • 案例18-新增搜索留言功能
  • Codeforces Round 1047 (Div. 3) F题题解记录
  • 基于 Redis 的分布式锁
  • 郑州视频网站建设wordpress登录去不了后台
  • 淮安做网站杨凯企业建站官网运营
  • django 使用绑定多个数据库实现数据的同步
  • 面试复习题---Android技术专家3
  • 云手机与人工智能之间的关系
  • 做网站对电脑要求高吗荆州市住房和城乡建设厅官方网站
  • Python 高效实现 PDF 转 Word:告别手动复制粘贴
  • 9.9元奶茶项目:matlab+FPGA的cordic算法(向量模式)计算相位角
  • 广州越秀公司网站建设电子商务基础网站建设与维护单项选择题
  • 网站技术培训学校世界知名网站
  • 专业做消防工程师的正规网站做网站百度推广多少钱
  • mysql的 启动 与 客户端连接
  • 【星海出品】rabbitMQ队列处理深入研究
  • Mysql常见八股文
  • 社交类网站开发需求怎么做个人网页
  • 解析01背包
  • WitTkChart:基于Python tkinter Canvas的开源图表可视化库
  • NIST公布后量子加密标准的第五种算法HQC
  • NetCore+Web客户端实现gRPC实时推送
  • Bugku-想蹭网先解开密码
  • 房屋管理系统开发流程
  • 新浪云怎么做淘宝客网站科技与狠活是什么意思
  • Vue3 v-slot 详解与示例
  • Agno 架构介绍:高性 Multi-agent 系统框架深度解析
  • 哪里有南宁网站建设天河区建设和水务局网站
  • Cadence Allegro 电子设计 快问快答--03.OrCAD颜色在哪里设置?
  • 自己做的网站怎么上排行榜设计广告专业制作