java里面的IO流分为哪几种,他们的区别是什么呢

news/2025/9/23 21:38:27/文章来源:https://www.cnblogs.com/cabbagehp/p/19108142

Java IO流主要可以从两个最重要的维度进行分类:流向 和 操作的数据类型。

  1. 按流向分(以内存为参照物):

输入流(Input Stream): 将数据从外部(如文件、网络、键盘)读入到内存中。InputStream 和 Reader 是基类。

输出流(Output Stream): 将数据从内存 写出到外部(如文件、网络、控制台)。OutputStream 和 Writer 是基类。

  1. 按操作的数据类型分:

字节流(Byte Stream): 以字节(byte,8位) 为基本单位(0,1二进制数据),可以处理所有类型的数据,例如图片、视频、音频、可执行文件等。基类是 InputStream 和 OutputStream。

字符流(Character Stream): 以字符(char,16位Unicode) 为基本单位,专门用于处理文本数据。它底层会自动进行字符编码和解码,避免了乱码问题。基类是 Reader 和 Writer。

区别:

字节流的基本单位:字节(byte),1字节,处理所有类型的文件(二进制文件),如图片(jpg,png)、视频(avi)、音频(mp3)、压缩包、可执行文件等。基类是InputStream,OutputStream,优势是万能,什么都能读能写。常见类是FileInputStream, FileOutputStream, BufferedInputStream, ObjectOutputStream,例如:用字节流读一个文本文件,你得到的是原始的字节。如果文件是UTF-8编码,一个中文字符可能是3个字节,直接输出可能会是乱码。

字符流的基本单位是:字符(char),2字节(Unicode),专门处理文本文件(txt,java,xml,csv,html等)。基类是Reader, Writer,优势是处理文本时更高效,能自动处理字符编码(如UTF-8,GBK),解决乱码问题。常见类是FileReader, FileWriter, BufferedReader, PrintWriter。例如:用字符流读同一个文本文件,它会帮你把字节按指定的编码转换成字符,你看到的就是正确的文字。 |

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/913966.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ReLU函数及它的导数

ReLU 函数 ReLU(Rectified Linear Unit,修正线性单元)是目前在深度学习中最常用的激活函数。它的数学表达式非常简单: $$f(x) = \max(0, x)$$ 这意味着当输入 $x$ 大于 0 时,输出就是 $x$ 本身;当输入 $x$ 小于或…

公司网站运营方案策划做 网络网站

0 前言 循环神经网络(Recurrent Neural Network,RNN)是一种用于处理序列数据的神经网络。相比一般的神经网络来说,他能够处理序列变化的数据。比如某个单词的意思会因为上文提到的内容不同而有不同的含义,RNN就能够很好…

网站建议公司新邵县住房和城乡建设局网站

TCP协议的报文格式 TCP协议有连接,可靠性传输,面向字节流,全双工。 他的数据格式如图: 根据他的数据格式,在这里我们只知道 16位源端口号(表示客户端这里的端口号),16位目的端口号&…

企业网站规划书实业公司网站建设

一、Znode分类 1、persistent_node 持久化节点 是默认类型,该类型节点,并不会随着客户端断开就会自动删除;zookeeper服务重启该节点也不会被删除,只有手动删除的时候才会删除;可以创建子节点; # create …

手机建站平台郴州网红景点

1、问题背景:maven使用默认settings.xml配置时,Idea基于pom.xml更新依赖时报错,有些组件下载时连接超时, 通过日志发下,去连接maven.org网站下载依赖,有时候肯定会超时。 2、解决办法:使用国外…

新开的网站建设公司如何推广专业的seo外包公司

文章目录1. 题目2. 解题1. 题目 给你一个下标从 0 开始的字符串 s ,它的 偶数 下标处为小写英文字母,奇数 下标处为数字。 定义一个函数 shift(c, x) ,其中 c 是一个字符且 x 是一个数字,函数返回字母表中 c 后面第 x 个字符。 …

北京优质网站制作南通市建设局网站6

怎么通过手机照片制作视频?将照片做成视频并不是很难,可以直接在手机上进行操作,下面来看看是怎么操作的。方法/步骤在手机上打开清爽视频编辑器,有视频编辑、美拍美摄、电子相册、特效模板、动感视频、创意视频、动态字幕、视频变…

龙岩市官方网站网站风格类型是

python遍历实例总结python同时遍历数组的索引和值的实例你想在迭代一个序列的同时跟踪正在被处理的元素索引。获取索引内置的 enumerate() 函数可以很好的解决这个问题:>>> my_list [a, b, c]>>> for idx, val in enumerate(my_list):... print(…

手机网站特效郑州企业网站seo

原标题:刘总出席成都糖酒会:信任铸就云仓酒庄新篇章,共襄盛举展未来近日,备受瞩目的成都糖酒会盛大开幕,吸引了来自全国各地的业界精英和代表。在这场盛大的行业盛会上,云仓酒庄的刘总亲临现场。 现场&…

第一次个人编程作业-论文查重

| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience | | 这个作业要求在哪里| https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience/homework/13477 | | 这…

使用Claude代码子代理生成项目特定提交消息的技术实践

本文详细介绍了如何利用Claude Code的子代理功能解决自动生成提交消息过于冗长的问题。通过创建专门的git提交消息生成代理,分析项目规范和变更内容,生成符合项目约定的简洁提交消息,提升开发效率。使用Claude代码子…

上海网站建设公司推荐合肥市住房建设局网站

全世界只有3.14 % 的人关注了爆炸吧知识今天,8岁表妹的老师给她奖励了一块大巧克力,超模君打趣她能不能分给我点,遭到残忍拒绝,超模君很愤怒,暗下决心要神不知鬼不觉地吃上表妹的巧克力。超模君趁表妹在认真做作业的时…

网站建设 前期资料dede门户网站模版

文章目录 1. 如何计算DDR带宽2. DDR data rate和DDR主频3. Mbps和Mhz4. 出题 1. 如何计算DDR带宽 计算DDR理论带宽的公式为: DDR主频 * 位宽 理论带宽其中,位宽(bit width)指的是内存总线的位宽,例如64位、128位、16bit、32bit等&#xff…

新手可以自己学做网站设计吗wordpress怎么设置静态主页

jquery 通过submit()方法 提交表单示例: 本示例:以用户注册作为例子。使用jquery中的submit()方法实现表单提交。 注:本示例仅提供了对表单的验证,本例只用选用了三个字段作为测试。 用户点击提交按钮时,触发点击事件&…

做网站先做ue网页版代码编辑器

先创建自定义控件类painter_label 1.自定义类必须给基类传入父窗口指针 2.重写控件中的方法 3.在UI中创建一个QLabel,右键“提升为”,输入类名

宜昌市水利建设工程协会网站湖南长沙房价2023年最新房价

【问题描述】[中等] 给定一个由表示变量之间关系的字符串方程组成的数组,每个字符串方程 equations[i] 的长度为 4,并采用两种不同的形式之一:"ab" 或 "a!b"。在这里,a 和 b 是小写字母(不一定不…

网站建设完成阶段性总结报告厚街镇网站仿做

一、MySQL数据库管理系统安装部署【简单】 简介 MySQL数据库管理系统(后续简称MySQL),是一款知名的数据库系统,其特点是:轻量、简单、功能丰富。 MySQL数据库可谓是软件行业的明星产品,无论是后端开发、…

长春网站制作长春万网企业内部网站开发

本章节将示范三台 zookeeper 服务端集群搭建步骤。 所需准备工作,创建三台虚拟机环境并安装好 java 开发工具包 JDK,可以使用 VM 或者 vagrantvirtualbox 搭建 centos/ubuntu 环境,本案例基于宿主机 windows10 系统同时使用 vagrantvirtualb…

差分电压

差分电压1) T_02_V+ / T_02_V- —— 差分电压输入(Voltage differential)含义(常见):V+ 与 V- 通常是一对 差分电压输入(或者单端的正、负端)。用于测量传感器或变送器给出的电压信号(例如 0–10 V、10 V、5 V…