新闻详情

新闻详情

首页 / 资讯中心 / 详情

java IO操作 你快速认识IO的相关基本知识

发布时间:2026/9/30 6:23:44来源:尧图网络
java IO操作 你快速认识IO的相关基本知识
I/O输入/输出(Input/Output)不同的I/O方式有不同的实现方式和性能在不同的应用中可以按情况选择不同的I/O方式。输入输出I/O流可以看成对字节或者包装后的字节的读取就是拿出来放进去双路切换。在当下的各种存储产品中按照速度从快到慢应该就是内存闪存磁盘磁带。Java 中通过 java.io.File 类来对一个文件包括目录进行抽象的描述.(io即input和output)。通过File对象来描述一个具体的文件,可以对应到一个真实存在的文件,也可以对应到一个不存在的文件.文件的分类文件可以分为文本文件和二进制文件。平时我们在记事本中编辑的内容就属于文本文件平时看到的图片文件如果不借助其他专业的软件是不能对图片进行编辑查看的用记事本打开后看到一堆乱码此时它里面存储的就是二进制内容。Java中的IO模型主要有三种1、BIOBlocking IO同步阻塞式IO是比较常用的IO模型特点是编写相对简单应用程序发起 read 调用后会一直阻塞直到内核把数据拷贝到用户空间。这种模型在客户端链接数量比较少的情况是可以的如果一旦数量上来达到万级别时就会出现问题。2、NIONonblocking IOJava 中的 NIO 于 Java 1.4 中引入对应java.nio包提供了Channel,SelectorBuffer等抽象。NIO 中的 N 可以理解为 Non-blocking不单纯是 New。它是支持面向缓冲的基于通道的 I/O 操作方法。 对于高负载、高并发的网络应用应使用 NIO 。Java 中的 NIO 可以看作是 I/O 多路复用模型。也有很多人认为Java 中的 NIO 属于同步非阻塞 IO 模型。3、AIOAsynchronous IOAIO 也就是 NIO 2。Java 7 中引入了 NIO 的改进版 NIO 2,它是异步 IO 模型。异步 IO 是基于事件和回调机制实现的也就是应用操作之后会直接返回不会堵塞在那里当后台处理完成操作系统会通知相应的线程进行后续的操作。目前来说 AIO 的应用还不是很广泛。Netty 之前也尝试使用过 AIO不过又放弃了。这是因为Netty 使用了 AIO 之后在 Linux 系统上的性能并没有多少提升。IO模型https://www.processon.com/view/6675082c5cb8e56220a4eb57?utm_sourceyingyingjava中IO流的分类按照数据单位字节流Byte Streams和字符流Character Streams- 字节流Byte Stream用于处理二进制数据适合处理图像、音频和其他非文本数据。例如FileInputStream和FileOutputStream是字节流的典型代表。- 字符流Character Stream用于处理文本数据适合处理字符集编码的文本文件。例如FileReader和FileWriter是字符流的典型代表。按照传输的方向:输入流input Stream)和输出流output Stream)- 输入流Input Stream用于从外部源读取数据。常见的输入流类包括InputStream和Reader的子类。- 输出流Output Stream用于将数据写入外部目标。常见的输出流类包括OutputStream和Writer的子类。Java IO结构https://www.processon.com/view/58579498e4b0f767284d1e98?utm_sourceyingyingjava中文件的具体操作在整个Java.io包中最重要的有5个类和一个接口。5个类指的是File、OutputStream、InputStream、Writer、Reader一个接口指的是Serializable. 主要的类如下File文件File类是对文件系统中文件以及文件夹进行封装的对象可以通过对象的思想来操作文件和文件夹。 File类保存文件或目录的各种元数据信息包括文件名、文件长度、最后修改时间、是否可读、获取当前文件的路径名判断指定文件是否存在、获得当前目录中的文件列表创建、删除文件和目录等方法。InputStream二进制操作抽象类基于字节的输入操作是所有输入流的父类。定义了所有输入流都具有的共同特征。3、OutputStream二进制操作抽象类。基于字节的输出操作。是所有输出流的父类。定义了所有输出流都具有的共同特征。常用的方法1. public void write(byte b[ ])将参数b中的字节写到输出流。2. public void write(byte b[ ], int off, int len) 将参数b的从偏移量off开始的len个字节写到输出流。 3. public abstract void write(int b) 先将int转换为byte类型把低字节写入到输出流中。4. public void flush( ) : 将数据缓冲区中数据全部输出并清空缓冲区。5. public void close( ) : 关闭输出流并释放与流相关的系统资源。主要的子类1. ByteArrayOutputStream把信息存入内存中的一个缓冲区中2. FileOutputStream把信息存入文件中3. PipedOutputStream实现了pipe的概念主要在线程中使用 4. SequenceOutputStream把多个OutStream合并为一个OutStream4、Reader文件操作抽象类用于读取字符流。它是所有字符输入流的父类可以读取字符数组、字符串等。5、Writer文件操作抽象类用来将字符或字符串写入到输出流中。6、RandomAccessFile随机文件操作既可以读取文件内容也可以向文件输出数据。同时RandomAccessFile 支持“随机访问”的方式程序快可以直接跳转到文件的任意地方来读写数据。字符流Reader的结构https://www.processon.com/view/53f03b9a0cf2dddac7f2c0f0?utm_sourceyingyingJava IO流https://www.processon.com/view/6087c0ae63768966e83aee2f?utm_sourceyingying
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

高温死机又恢复?揭秘电子设备热设计失效的底层逻辑 2026/9/30 22:23:51

高温死机又恢复?揭秘电子设备热设计失效的底层逻辑

1. 这不是玄学,是热设计失效的典型症状“设备高温死机,一吹风/一放凉就恢复”——这句话在电子维修圈、嵌入式开发群、甚至家用电器售后论坛里,几乎每天都在重复出现。它不像蓝屏那样有错误代码,也不像断电那样干脆利落&#xff0…

阅读更多 →
《金字塔原理》精华总结 2026/9/30 22:23:51

《金字塔原理》精华总结

《金字塔原理》作者:[美] 芭芭拉明托(Barbara Minto) 分类:逻辑思维 / 写作表达 阅读日期:2026-09-29一、全书核心思想 《金字塔原理》诞生于麦肯锡公司的写作培训体系。明托是麦肯锡聘请的第一位女咨询顾问&#xff0…

阅读更多 →
多通道 LLM 网关的“假 404”排查:model_id 归一化与 TaoToken 统一 Key 通道实践 2026/9/30 22:23:51

多通道 LLM 网关的“假 404”排查:model_id 归一化与 TaoToken 统一 Key 通道实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
四路CAN转4G远程监控现场踩坑实录:从CAN总线到4G链路的稳定性指南 2026/9/30 22:23:51

四路CAN转4G远程监控现场踩坑实录:从CAN总线到4G链路的稳定性指南

做远程监控这几年,四路CAN转4G的设备我前前后后测过、用过的型号不下二十种,矿卡、农机、工厂产线、纯电动重卡上都跑过。这玩意儿单看规格书确实漂亮:四路独立CAN通道、4G全网通、宽压输入、金属外壳,好像接上线就能把数据往云上…

阅读更多 →
Jetson Orin NX接入GNSS串口定位模块:从硬件接线到ROS2解析 2026/9/30 22:23:41

Jetson Orin NX接入GNSS串口定位模块:从硬件接线到ROS2解析

接手这个项目时,手头平台是 Jetson Orin NX16GB,要接的定位模块是联适 R70M-GNSS,目标是让机器人在室外场景稳定拿到串口定位数据。乍一看这事简单:串口嘛,波特率对上就能读。但真正连线调起来才发现,从电平…

阅读更多 →
DeepSeek 配 AutoGPT:任务自主拆解与智能体编排实战 2026/9/30 22:22:29

DeepSeek 配 AutoGPT:任务自主拆解与智能体编排实战

简介:这份PDF文档面向AI开发者、软件工程师与数据分析师,聚焦如何将DeepSeek与AutoGPT结合,实现复杂任务的自主拆解与自动化执行,帮助读者减少人工干预、提升工作准确性与效率。文档共15页,以PDF格式呈现,压…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉