java字节流和字符流 每日关注
Java中的I/O操作可以分为两种类型:字节流和字符流。字节流用于处理二进制数据,而字符流用于处理文本数据。本文将详细介绍Java中的字节流和字符流,并给出相应的示例代码。
一、字节流
Java中的字节流主要用于处理二进制数据,如图像、音频和视频等。Java中的字节流主要分为InputStream和OutputStream两种类型。
(资料图片仅供参考)
InputStream
InputStream是Java中所有输入流的基类。InputStream中定义了许多方法用于读取字节。以下是InputStream中一些常用的方法:
int read(): 从输入流中读取一个字节的数据。如果已到达文件结尾,则返回-1。int read(byte[] b): 从输入流中读取最多b.length个字节的数据,并将其存储到缓冲区b中。返回实际读取的字节数。int available(): 返回可以从输入流中读取的字节数。下面是一个从文件中读取数据并将其显示在控制台上的示例:
import java.io.*;public class InputStreamExample { public static void main(String[] args) throws IOException { InputStream in = new FileInputStream("test.txt"); int b; while ((b = in.read()) != -1) { System.out.print((char) b); } in.close(); }}
在上述示例中,我们使用FileInputStream打开一个文件,并使用read()方法读取文件中的每一个字节,并将其显示在控制台上。
OutputStream
OutputStream是Java中所有输出流的基类。OutputStream中定义了许多方法用于写入字节。以下是OutputStream中一些常用的方法:
void write(int b): 将指定的字节写入输出流中。void write(byte[] b): 将指定的字节数组中的数据写入输出流中。void flush(): 刷新输出流并强制写入所有缓冲的输出字节。下面是一个将数据写入文件的示例:
javaCopy codeimport java.io.*;public class OutputStreamExample { public static void main(String[] args) throws IOException { OutputStream out = new FileOutputStream("test.txt"); String str = "Hello, world!"; byte[] b = str.getBytes(); out.write(b); out.close(); }}
在上述示例中,我们使用FileOutputStream打开一个文件,并使用write()方法将一个字符串转换为字节数组,然后将其写入文件中。
二、字符流
Java中的字符流主要用于处理文本数据。字符流可以直接处理Unicode字符,因此在处理中文等特殊字符时很方便。Java中的字符流主要分为Reader和Writer两种类型。
Reader
Reader是Java中所有读取字符流的基类。Reader中定义了许多方法用于读取字符。以下是Reader中一些常用的方法:
int read(): 从输入流中读取一个字符的数据。如果已到达文件结尾,则返回-1。int read(char[] c): 从输入流中读取最多c.length个字符的数据,并将其存储到缓冲区c中。返回实际读取的字符数。下面是一个从文件中读取数据并将其显示在控制台上的示例:
import java.io.*;public class ReaderExample { public static void main(String[] args) throws IOException { Reader reader = new FileReader("test.txt"); int c; while ((c = reader.read()) != -1) { System.out.print((char) c); } reader.close(); }}
在上述示例中,我们使用FileReader打开一个文件,并使用read()方法读取文件中的每一个字符,并将其显示在控制台上。
Writer
Writer是Java中所有写入字符流的基类。Writer中定义了许多方法用于写入字符。以下是Writer中一些常用的方法:
void write(int c): 将指定的字符写入输出流中。void write(char[] c): 将指定的字符数组中的数据写入输出流中。void flush(): 刷新输出流并强制写入所有缓冲的输出字符。下面是一个将数据写入文件的示例:
import java.io.*;public class WriterExample { public static void main(String[] args) throws IOException { Writer writer = new FileWriter("test.txt"); String str = "Hello, world!"; writer.write(str); writer.close(); }}
在上述示例中,我们使用FileWriter打开一个文件,并使用write()方法将一个字符串写入文件中。
三、字节流和字符流的区别
在Java中,字节流和字符流有以下区别:
处理的数据类型不同
字节流主要用于处理二进制数据,如图像、音频和视频等。字符流主要用于处理文本数据。
输入/输出方式不同
字节流以字节为单位进行读取和写入,而字符流以字符为单位进行读取和写入。
编码方式不同
字节流不关心数据的编码方式,可以处理任何类型的数据。而字符流必须使用特定的字符编码方式,如UTF-8或GBK,以正确地处理文本数据。
标签:
相关文章
java字节流和字符流 每日关注
Java中的I O操作可以分为两种类型:字节流和字符流。字节流用于处理二进制数据,而字符流用于处理文本数据。本文将详细介绍Java中的字节流和字
【全球速看料】“末日博士”鲁比尼:美国面临重大金融危机 经济陷入“厄运循环”
“末日博士”鲁比尼:美国面临重大金融危机经济陷入“厄运循环”,美国,美联储,高通胀,金融危机,末日博士,水球竞赛,通胀数据,水球运动员,意...
观点:木材是有机物还是无机物_维生素是有机物还是无机物
1、是的维生素(vitamin)又名维他命,是维持人体生命活动必需的一类有机物质,也是保持人体健康的重要活性物质。2、
脚后跟裂口子怎么办_脚后跟干裂起硬皮裂口子怎么办
1、如果脚后跟开裂结痂,有两个原因,有的是真菌感染和脚气引起的。这种情况下可以用保湿霜和一些抗真菌药。2、如果脚后跟裂纹脱落,可能是真
宇通重工:2022年净利同比降1.86% 拟10派3.8元 -世界短讯
南方财经4月3日电,宇通重工披露年报,公司2022年实现营业收入35 85亿元,同比下降4 56%;净利润3 86亿元,同比下降1 86%;基本每股收益0 73元
中概互联ETF: 关于广发中证海外中国互联网30交易型开放式指数证券投资基金(QDII)暂停申购与赎回业务的公告 环球即时
中概互联ETF:关于广发中证海外中国互联网30交易型开放式指数证券投资基金(QDII)暂停申购与赎回业务的公告
法国马赛发生3起枪击事件 已造成3人丧生多人受伤
中新网巴黎4月3日电法国南部城市马赛当地时间2日深夜至3日凌晨发生3起枪击事件,目前已造成至少3人丧生,另有多人受伤。据法国媒体3日报道,两
银行高净值人士如何做慈善?报告:基金会与慈善信托是目前最主要参与工具|焦点简讯
界面新闻记者曾令俊1日前,招商银行正式发布了《2023中国高净值人士慈善调研报告》。这是国内首个样本量超千份的高净值人士慈善需求调研项目,
普通高校经济管理类精品教材:管理学_对于普通高校经济管理类精品教材:管理学简单介绍
1、《普通高校经济管理类精品教材:管理学》介绍了组织管理应遵循的以人为本、组织文化、诚实守信、社会责任等基本理念;突出了
刘天:4.3本周一全网公开1962高点干空!如预期暴跌!跟随刘天步伐轻松拿捏!欧盘现价1957附近直接空,日内做单必看策略!
刘天:4 3本周一全网公开1962高点干空!如预期暴跌!跟随刘天步伐轻松拿捏!欧盘现价1957附近直接空,日内做单必看策略!刘天:4 3本周一全网
再现摇号,触顶3.22万/㎡!羊城食品厂地块终花落谁家?
再现摇号,触顶3 22万 ㎡!羊城食品厂地块终花落谁家?,摇号,广州,土拍,荔湾,白鹅潭,住宅用地,羊城食品厂
每日速讯:“瓦格纳”创始人:俄罗斯国旗已在巴赫穆特市政大楼升起
据塔斯社报道,“瓦格纳”私营军事集团创始人普里戈津3日宣布,从严格意义上来说,他们已经占领了巴赫穆特。俄罗斯国旗已经在巴
音乐漫步期末考试答案_音乐漫步-焦点观察
1、 "用起伏的背影挡住哭泣的心有些故事不必说给每个人听许多眼睛看的太浅太近错过我没被看见那个自己用简单的言语解开超载的心
青年大学2023年第7期答案最新版分享
【青年大学2023年第7期答案最新版分享】今天的关注度非常高,直接上了热搜榜,那么具体的是什么情况呢,大家可以一起来看看
宋都股份4月3日快速回调_新资讯
以下是宋都股份在北京时间4月3日09:58分盘口异动快照:4月3日,宋都股份盘中快速回调,5分钟内跌幅超过2%,截至9点58分,报2 54元,成交4675 9
港股异动 | 石油股集体高开 OPEC+集体宣布自愿减产 WTI原油盘中涨超7% 天天微速讯
石油股早盘集体高开,截至发稿,中海油服(02883)涨3 73%,报8 35港元;中海油(00883)涨3 26%,报12 04港元;中石油(00857)涨3 01%,报4 79港元
第三届消博会现场巡查及安保监督培训会召开 热头条
4月2日,第三届中国国际消费品博览会现场巡查及安保监督培训会在海南政法职业学院召开,旨在动员志愿者做好第三届消博会期间知识产权保护、展
临夏市规划三十六路(刘临路至北滨河东路)道路工程 中标公示
临夏市规划三十六路(刘临路至北滨河东路)道路工程中标公示发布日期:2023年4月1日项目名称临夏市规划三十六路(刘临路至北滨河东路)道路工
女士生日礼物哪些大牌香水好 每日报道
女士生日礼物哪些大牌香水好,你可以送香水,包包,香水等,这些东西都是很不错的选择,我觉得香水是很不错的。送女士香水是很多
普通高中课程标准实验教科书:英语2_对于普通高中课程标准实验教科书:英语2简单介绍
1、《普通高中课程标准实验教科书(必修):英语2(教师教学用书)(1年级)》的教学目标是:根据学生的认知规律和学习特点,
环球快报:道路更畅通、楼道更整洁……宝山这里越来越靓!
创建全国文明城区工作开展以来宝山区顾村镇相关单位迅速行动,多措并举开展环境整治行动为居民营造干净、整洁、舒适的居住环境连日来,镇建筑
每日速读!绝了,夏窗将清洗10人!5冠豪门乱买人薪资违规,国米巴黎欲捡漏
球队也需要在这个夏天解决掉那些不在球队计划中的人,而伦敦晚旗报切尔西方面记者NizaarKinsella报道:“切尔西将会在这个夏窗直接清洗10位球
世界动态:烟台楼市3月迎阳春!比上月猛增47%,4区市一季度新房过户破千
一季度的烟台楼市,在3月底迎来高扬的上行曲线。昨日,3月份全市新房、二手房过户量正式出炉。全市共过户新房8868套,比2月增长37%;过户二手
日本前首相福田康夫:日中高层互动有助缩小两国“不确定性”
【环球时报记者邢晓婧环球时报赴博鳌特派记者胡雨薇】中国外交部发言人毛宁3月31日宣布,应国务委员兼外长秦刚邀请,日本
世界讯息:funfoam什么意思(foam什么意思)
1、foam[fəum]n 泡沫;水沫;灭火泡沫vi 起泡沫;吐白沫;起着泡沫流动vt 使起泡沫;使成泡沫状物希望帮助到你,若有疑问,可以追问~
前沿热点:拓宽多元化内容场景,第一财经发出“博鳌声音”
3月28日至31日,博鳌亚洲论坛2023年年会在海南博鳌举行。作为博鳌亚洲论坛的“老朋友”,第一财经连续多年来以官方媒体合作机构的身份,参...