Java基础:IO流有哪些,各有什么特点和功能
具体操作分成面向字节(Byte)和面向字符(Character)两种方式。
如下图所示:

IO流的三种分类方式

IO流的层次结构
IO流的常用基类有:
字节流的抽象基类:InputStream和OutputStream;
字符流的抽象基类:Reader和Writer。
注意:由这四个类派生出来的子类名称均以其父类名作为子类名的后缀,以前缀为其功能。如,InputStream的子类——FileInputStream,Reader的子类——FileReader。
1) 字节流:
InputStream 与 OutputStream;
InputStream 是所有字节输入流的父类,其定义了基础的读取方法;
OutputStream 是所有字节输出流的父类,其定义了基础的写出方法包含:
文件流:
FileOutputStream 是文件的字节输出流,我们使用该流可以以字节为单位将数据写入文件(默认覆盖模式,第二个参数设施为 true 可改变为追加模式)。
FileInputStream 是文件的字节输入流,我们使用该流可以以字节为单位读取文件内容。
缓冲流:
BufferedOutputStream 缓冲字节输出流,需用flush方法将缓存的字节写出或在关闭流时一次性写出。
BufferedInputStream 是缓冲字节输入流。
对象流:
ObjectOutputStream 是用来对对象进行序列化的输出流。
ObjectInputStream 是用来对对象进行反序列化的输入流。
2) 字符流:Reader 和 Writer
Reader 是所有字符输入流的父类。
Writer 是所有字符输出流的父类。
字符流是以字符 (char) 为单位读写数据。一次处理一个 unicode。字符流都是高级流,其底层是依靠字节流进行读写数据。
包含:转换流:
InputStreamReader:字符输入流,使用该流可以设置字符集
OutputStreamWriter:字符输出流,使用该流可以设置字符集字符缓冲流
PrintWriter 具有自动行刷新的缓冲该字符输出流,需第二个参数设置为 true。
BufferedReader 是缓冲字符输入流;
注:PrintWriter 写出字符串时通常不用 Writer 提供的 write( ) 相关方法,而是用重载的 print 和println 方法。
BufferedReader 读取字符串时可用 readLine()连续读取一行字符串,直到读取到换行符为止,返回的字符串中不包含该换行符,未读到返回 null。
3)序列化流:ObjectInputStream和ObjectOutputStream
对象的输出流将指定的对象写入到文件的过程,就是将对象序列化的过程,
对象的输入流将指定序列化好的文件读出来的过程,就是对象反序列化的过程。
既然对象的输出流将对象写入到文件中称之为对象的序列化,那么可想而知对象所对应的class必须要实现Serializable接口。(查看源码可得知:Serializable接口没有任何的方法,只是作为一个标识接口存在)。
相关文章:
Java基础:IO流有哪些,各有什么特点和功能
具体操作分成面向字节(Byte)和面向字符(Character)两种方式。 如下图所示: IO流的三种分类方式 IO流的层次结构 IO流的常用基类有: 字节流的抽象基类:InputStream和OutputStream; 字符流的抽象基类:Reader和Writer…...
MySQL、PostgreSQL、Oracle、SQL Server数据库触发器实现同步数据
数据库触发器是一种在数据库中设置的程序,当满足某些特定条件时,它会自动执行。触发器通常与数据表的操作(例如插入、更新和删除)相关联,它们可以帮助保证数据的完整性和一致性。在本篇博客中,我将介绍各种…...
因为我没交周报,leader要罚款200元,怎么给他挖坑?能以敲诈勒索罪告他吗?...
没交周报就罚款,这种事你们遇到过吗? 一位网友说:leader在群里通知不交周报就罚款,这周罚到他头上,要罚款200元,这种情况怎么办?能定他一个敲诈勒索罪或者抢劫罪吗?最差也要在离职后…...
java跨域问题
什么是跨域? 跨域是指从一个域名的网页去请求另一个域名的资源。比如从www.baidu.com页面去请求www.google.com的资源。但是一般情况下不能这么做,他是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。 跨域的严格定义是&…...
故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize # This output file may be truncated or incomplete. # # Out of Memory Error (os_linux.cpp:26…...
数画-AI绘画-免费的人工智能AI绘画网站
文章目录 AIGC什么是AI作画?Prompt数画AIGC的未来发展结语 AIGC AIGC(AI Generated Content)是指利用人工智能生成内容。是利用人工智能来生成你所需要的内容,GC的意思是创作内容。与之相对应的概念中,比较熟知的还有P…...
ElasticSearch安装、启动、操作及概念简介
ElasticSearch快速入门 文件链接:https://pan.baidu.com/s/15kJtcHY-RAY3wzpJZIn4-w?pwd0k5a 提取码:0k5a 有些软件对于安装路径有一定的要求,例如:路径中不能有空格,不能有中文,不能有特殊符号…...
Linux用户管理
♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易,人间真情 前言 努力是最好的捷径! 目录 1.Linux基于用户身份对…...
Docker 的安装和镜像容器的基本操作
文章目录 一、Docker 概述1、Docker的概念2、容器的优点3、容器与虚拟机的区别4、容器在内核中支持2种重要技术5、Docker核心概念 二、Docker的安装1、docker的安装步骤2、实例操作:安装docker 三、Docker 镜像操作1、搜索镜像2、获取镜像3、镜像加速下载4、查看镜像…...
被盗的ChatGPT账户在暗网热销,ChatGPT的隐私和安全问题依旧值得关注
在过去的一个月,Check Point研究人员在暗网上观察到了与ChatGPT相关的各种讨论和交易。暗网上最新的活动包括泄露和免费发布ChatGPT账户的凭据,以及交易被盗的ChatGPT账户。 根据Check Point进行的一项研究,从今年3月以来,被盗的…...
OpenCV2 计算机视觉应用编程秘籍:6~10
原文:OpenCV2 Computer Vision Application Programming Cookbook 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 计算机视觉 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 当别人说你没有底线…...
如何对农田温室气体进行有效模拟?
农业是甲烷(CH4)、氧化亚氮(N2O)和二氧化碳(CO2)等温室气体的主要排放源,占全产业排放的13.5%。农田温室气体又以施肥产生的N2O和稻田生产产生的CH4为主,如何对农田温室气体进行有效…...
java数据结构刷题练习
class Solution {public boolean containsDuplicate(int[] nums) {Arrays.sort(nums);for(int i1;i<nums.length;i){if(nums[i-1]nums[i])return true;}return false; } }作者:affectionate-albattani7tn 链接:https://leetcode.cn/problems/contains…...
《商用密码应用与安全性评估》第一章密码基础知识1.6密钥交换协议
密码协议是指两个或者两个以上参与者使用密码算法时,为了达到加密保护或安全认证目的而约定的交互规则。 密钥交换协议 公钥密码出现之前,密钥交换很不方便,公钥密码可以在不安全信道上进行交换,交换的密码协议是为了协商会话密钥…...
Qt Quick - TabBar
Qt Quick - TabBar使用总结 一、概述二、调整选项卡三、Flickable标签三、定制化 一、概述 TabBar其实就是选项卡,TabBar是由TabButton控件填充,TabBar可以与任何提供currentIndex属性的布局或容器控件一起使用,如StackLayout或SwipeView。T…...
ElasticSearch集群搭建
一、ElasticSearch 集群 1.1 搭建集群 Elasticsearch如果做集群的话Master节点至少三台服务器或者三个Master实例加入相同集群,三个Master节点最多只能故障一台Master节点,如果故障两个Master节点,Elasticsearch将无法组成集群.会报错&…...
【pan-sharpening 攻击:目标检测】
Adversarial pan-sharpening attacks for object detection in remote sensing (对抗性泛锐化攻击在遥感目标检测中的应用) 全色锐化是遥感系统中最常用的技术之一,其目的是将纹理丰富的PAN图像和多光谱MS图像融合,以获得纹理丰…...
nginx反向代理_负载均衡的配置
说明 两台虚拟机: 88节点是自己的虚拟机 66节点是小组成员的虚拟机,我们暂且叫同学机 tomcat端口,分别为8081和8082 总结就是: 自己虚拟机上面安装nginx和tomcat8082 同学机上安装tomcat8081 一、开始安装nginx(只安装…...
程序员随时担心被抛弃......大厂外包值不值得去?
外包”这个词经常被人提及,而且也经常被我们所“鄙夷”,很多人都在四处问:“软件外包公司到底能不能去”? 外包公司到底能不能学到真正的技术? 外包大厂能不能去? 今天就给大家详细分享下外包的利与弊 做…...
C++解释器模式实战:从设计到应用的全面指南
目录标题 第一章:解释器模式简介(Introduction to the Interpreter Pattern)1.1 模式定义(Pattern Definition)1.2 解释器模式的用途(Uses of the Interpreter Pattern) 1.3 解释器模式的优缺点…...
intv_ai_mk11效果实测报告:在中文技术问答、创意写作、逻辑推理三维度得分分析
intv_ai_mk11效果实测报告:在中文技术问答、创意写作、逻辑推理三维度得分分析 1. 测试背景与模型介绍 intv_ai_mk11是一款基于Llama架构的AI对话机器人,拥有7B参数规模,专门针对中文场景优化。本次测试将从三个核心维度评估其实际表现&…...
打造掌机媒体中心:wiliwili跨设备播放全攻略
打造掌机媒体中心:wiliwili跨设备播放全攻略 【免费下载链接】wiliwili 专为手柄控制设计的第三方跨平台B站客户端,目前可以运行在PC全平台、PSVita、PS4 和 Nintendo Switch上 项目地址: https://gitcode.com/GitHub_Trending/wi/wiliwili 在移动…...
seo实用工具对网站长期发展有什么影响
SEO实用工具对网站长期发展的影响 在当今数字化时代,网站的长期发展离不开搜索引擎优化(SEO)。而SEO实用工具,则是推动网站长期发展的重要助手。它们不仅帮助提升网站的搜索排名,还能够提供数据分析、关键词研究和竞争…...
[特殊字符] Nano-Banana效果分享:电动工具齿轮箱高精度啮合关系可视化拆解图
Nano-Banana效果分享:电动工具齿轮箱高精度啮合关系可视化拆解图 你有没有想过,一个复杂的电动工具内部到底长什么样?那些精密的齿轮是如何咬合在一起,将电机的旋转变成强大动力的?传统的产品说明书往往只有一张模糊的…...
网盘直链下载助手终极指南:3步实现高速下载新时代
网盘直链下载助手终极指南:3步实现高速下载新时代 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘…...
2026全年求职时间线|应届生必看,错过可能再等一年
关注 霍格沃兹测试学院公众号,回复「资料」, 领取人工智能测试开发技术合集如果你是2026届、2027届毕业生,这篇文章建议收藏转发。应届生身份只有一次,用好了是红利,用错了可能错过一整年机会。都说今年工作难找,那我们…...
springboot+vue基于web的校园电动车短租系统的设计系统
目录同行可拿货,招校园代理 ,本人源头供货商系统功能分析用户管理模块车辆管理模块租赁业务模块安全与风控模块统计与报表模块技术实现要点项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作同行可拿货,招校园代理 ,本人源头供货商…...
Vue3+Three.js实战:拆解Xtreme1点云标注工具的技术架构
Vue3Three.js深度实战:构建工业级3D点云标注工具的技术解析 在自动驾驶、工业检测和机器人视觉领域,3D点云标注工具正成为AI训练数据生产的核心基础设施。Xtreme1作为开源多模态标注平台的代表,其pc-tool模块采用Vue3Three.js技术栈实现了专…...
保姆级教程:用STM32F103C8T6(CUBEMX HAL库)读取航模遥控器PPM信号,附完整代码
低成本STM32F103C8T6读取航模PPM信号实战指南 航模遥控器的PPM信号解析一直是DIY爱好者的热门话题。相比昂贵的专用解码器,一块十几元的STM32F103C8T6开发板就能实现相同功能。本文将手把手教你用最常见的"蓝板"完成从硬件连接到代码调试的全过程。 1. 硬…...
智能驱动,精准雾化:探秘微孔雾化片专用IC的自适应频率与无水保护
1. 微孔雾化技术的前世今生 第一次拆解家用加湿器时,我被那片直径不到3cm的金属薄片震惊了——它竟能凭空"变"出细腻的水雾。这就是微孔雾化片,通过每秒10万次以上的高频振动将液态水"打碎"成微米级颗粒。但要让这片金属薄片稳定工作…...
