当前位置:网站首页>IO文件输入输出流
IO文件输入输出流
2022-07-20 19:05:00 【华为云】
文章目录
大家好,我是水滴~~
前面我们已经学会了字节流的使用,本篇开始介绍字符流。字符输入输出流是所有字符流的超类,学会了它们的方法,也基本上掌握了其子类的使用了。
字符和字节的区别
- 字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位,一个字节等于八位比特(Bit)。
- 字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。一般情况下一个英文字母或字符占用一个字节,一个汉字占用两个字节(具体占用字节数与字符集相关)。
字符集(Character Set)是多个字符的集合,字符集种类较多,每个字符集占用的字符个数不同。下面是一些常见的字符集:
- ASCII:一个字符占用一个字节。
- UTF-8:一个英文字符占用一个字节,一个中文字符占用三个字节。
- GBK:一个英文字符占用一个字节,一个中文字符占用两个字节。
- Unicode:一个英文字符占用一个字节,一个中文字符占用两个字节。
Reader(字符输入流)
java.io.Reader
抽象类是所有字符输入流的超类。其子类必须实现read(char cbuf[], int off, int len)
和 close()
方法。为了提高效率和额外的功能,大多数子类重写了该类中的一些方法。
常用方法
int read()
从流中读取一个字符。该方法会阻塞,直到字符可用、发生 I/O 异常或达到流的结尾。
返回值:该方法将读取的内容以 0 至 65535(0x00 - 0xffff) 范围内的整数返回,如果到达流的末尾,则为 -1。
int read(char cbuf[])
从流中读取多个字符,并存入缓冲区数组
cbuf
中。该方法会阻塞,直到字符可用、发生 I/O 异常或达到流的结尾。
返回值:读取的字符数。如果已经到达流的结尾,则为 -1。
int read(char cbuf[], int off, int len)
从流中读取多个字符,并存入缓冲区数组
cbuf
一部分,从缓冲区的off
下标处开始存储,最多存入len
个字符。
返回值:读取的字符数。如果已经到达流的结尾,则为 -1。
void close()
关闭该输入流,并释放与之相关的所有系统资源。
Writer(字符输出流)
java.io.Writer
抽象类是所有字符输出流的超类。其子类必须实现 write(char cbuf[], int off, int len)
和 close()
方法。为了提高效率和额外的功能,大多数子类重写了该类中的一些方法。
常用方法
void write(int c)
向输出流写入一个字符。
void write(char cbuf[])
向输出流写入一个字符数组。
void write(char cbuf[], int off, int len)
向输出流写入数组的一部分。从数组
cbuf
的下标off
处开始,最多写入len
个字符。
void write(String str)
向输出流写入一个字符串。
void write(String str, int off, int len)
向输出流写入字符串的一部分。
void flush()
刷新该输出流,强制将缓存区中的字符写出去。
void close()
关闭该输出流,并释放与之相关的所有系统资源。
系列文章
- 【Java I/O 流】文件的操作——java.io.File 类详解
- 【Java I/O 流】I/O 流的原理与流的分类
- 【Java I/O 流】字节输入输出流:InputStream & OutputStream
- 【Java I/O 流】文件字节输入输出流:FileInputStream & FileOutputStream(文件读写案例)
边栏推荐
- What should be included in the test plan
- 6 shell tips to make the script no longer amateur
- What are the main aspects of troubleshooting when DTS write module delays writing to the target database?
- 短视频带货源码, 文本上下滚动和图片闪烁
- 机器学习笔记:ViT (论文 An Image Is Worth 16X16 Words: Transformers for Image Recognition at Scale)
- Laravel used with JWT
- 反转字符串——中间递归
- 安防视频监控平台EasyCVR数据库字段无法更新,如何优化?
- ThreadLocal父子线程传递问题——熟悉阿里的TransmittableThreadLocal
- 在代码评审中用好这7招,很容易就能建立起你的反对同盟
猜你喜欢
一张光盘和一张软盘
Unity API详解——GameObject类
Codeforces Round #809 (Div. 2)(A~D2)
【JZOF】06从尾到头打印链表
Spark Learning (1) -spark Foundation
1. Rip experiment demonstration (Huawei router device configuration)
Openbmb x Tsinghua NLP: the 20 hour large model open class will take you from introduction to mastery
C# 图像模板匹配并标注
又一起.NET程序挂死, 用 Windbg 抽丝剥茧式的真实案例分析
【JZOF】05替换空格
随机推荐
2022 mathematical modeling "May Day Cup" B problem solution + paper
7.6平衡二叉树(AVL树)
经典重温:理解神经网络的“知识一致性”(ICLR 2020)
Day5:三指针描述一颗树
How to realize on call customer service
Why do some managers always force their sense of existence? (have you met it?)
技术决策与团队认知负载
Easygbs platform setup tips: how to hide the platform web page from being accessed?
反转字符串——中间递归
Codeforces Round #809 (Div. 2)(A~D2)
2022数学建模“五一杯”B题 题解+论文
浙江的哪个银行网点可以买到ETF基金产品?
What should be included in the test plan
为什么数据流转是混合云的核心能力?
All countries know the highest salary level of programmers, and the bottom is unexpected
7.7 B tree and b+ tree
渗透测试-xml注入以及xxe漏洞
【WMCA】《Biometric Face Presentation Attack Detection with Multi-Channel Convolutional Neural Network》
What are the main aspects of troubleshooting when DTS write module delays writing to the target database?
Great surprise