字节流与字符流的区别|学习笔记

简介: 快速学习 字节流与字符流的区别

开发者学堂课程【Java 高级编程字节流与字符流的区别】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/20/detail/314


字节流与字符流的区别


一、字节流与字符流的区别

1、现在通过一系列的分析已经可以清楚字节流与字符流的基本操作了,但是对于这两类流依然是存在有区别的,重点分析一下输出的处理操作。

OutputStream 和 Writer 输出的最后发现都使用了 close (方法进行了关闭处理。


2、在使用 OutputStream 类输出的时候如果发现没有使用 close() 方法关闭输出流,内容依然可以实现正常的输出。

在使用 Writer 类输出的时候,如果没有使用 close() 方法关闭输出流,那么这时内容无法进行输出,因为 Writer 使用到了缓冲区。

 

3、当使用了 close() 方法的时候,实际上会出现有强制刷新缓中区的情况,所以这个时候会将内容进行输出。

如果没有关闭,那么将无法进行输出操作。

所以此时如果在不关闭的情况下,要想将全部的内容输出可以使用 flush() 方法强制性清空。

(1)范例:使用 Writer 并强制性清空

图片95.png


(2)字节流在进行处理的时候并不会使用到缓冲区,而字符流会使用到缓冲区。

另外,使用缓冲区的字符流更加于进行中文数据的处理。所以在日后的程序开发之中,如果要涉及到包含有中文信息的输出一般都会使用字符流处理。


(3)但是从另一方面来说,字节流和字符流的基本处理形式是相似的。

由于IO很多情况下都是进行数据的传输使用(二进制),所以本次讲解将以字节流为主

相关文章
|
23天前
|
移动开发 Java Linux
IO流:字节流
在Java编程中,IO流是一个核心概念,用于与文件、网络、内存等数据源交互。Java的IO库提供丰富的类和方法支持数据读写。IO流分为字节流和字符流,前者可操作所有类型文件,后者仅限纯文本文件。`FileOutputStream`用于向文件写入字节,支持多种写入方式,并可通过构造函数的布尔参数控制是否追加写入。`FileInputStream`则用于从文件读取字节,支持逐字节或批量读取。文件拷贝可通过结合读写操作实现,高效的方法是一次性读取并写入大容量数组。处理IO流时需注意异常管理,合理使用try-catch-finally结构确保资源正确释放。JDK7及以后版本提供了自动关闭资源的简化语法
40 10
|
2月前
|
存储 移动开发 程序员
|
2月前
|
存储 Java 索引
|
2月前
|
存储 缓存 Java
15 Java IO流(File类+IO流+字节流+字符流+字节编码)
15 Java IO流(File类+IO流+字节流+字符流+字节编码)
45 3
|
4月前
|
存储 Java 数据库
面试官:字节流可以处理一切文件为什么还需要字符流呢?
【6月更文挑战第8天】面试官:字节流可以处理一切文件为什么还需要字符流呢?
56 7
|
3月前
|
存储 缓存 Java
JavaSE—IO流之字符流与字节流
JavaSE—IO流之字符流与字节流
|
4月前
字节流和字符流
字节流和字符流
23 0
|
5月前
|
Java
IO流Java字节流和字符流的区别是什么?
IO流Java字节流和字符流的区别是什么?
61 0
|
11月前
|
存储 Java
IO流之 字节流 & 字符流
大多数应用程序都需要实现与设备之间的数据传输,例如键盘可以输入数据,显示器可以显示程序的运行结果等。在Java中,将这种通过不同输入输出设备(键盘,内存,显示器,网络等)之间的数据传输抽象的表述为“流”,程序允许通过流的方式与输入输出设备进行数据传输。Java中的“流”都位于Java.io包中,称之为IO(输入输出)流。IO流即InputOutput的缩写。一切文件数据在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此。所以,字节流可以传输任意文件数据。httpshttps。...
126 0
|
11月前
|
存储 移动开发 Java
[java进阶]——IO流基本字节流和字符流,字符流中的缓冲流,递归实现多级文件拷贝
[java进阶]——IO流基本字节流和字符流,字符流中的缓冲流,递归实现多级文件拷贝
111 0