Java基础-流

(Stream)是指在计算机的输入输出操作中各部件之间的数据流动。按照数据的传输方向,流可分为输入流和输出流。

字节流与字符流的区别:

        字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组

        字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,所以它对多国语言支持性比较好

如果是音频文件、图片、歌曲,就用字节流好点,如果是关系到中文(文本)的,用字符流好点

所有文件的储存是都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。在读取文件(特别是文本文件)时,也是一个字节一个字节地读取以形成字节序列

字节输入流(InputStream)

int length = is.read(byte[] b)

is是输入流对象,将is所对应的输入流中数据读到字节数组b中,读到b中的字节长度赋值给length。

字节输入流

InputStream

  • 用于从流中读数据

方法:read(); read(byte[]); read(byte[], int start, int end);

封装的库方法:从流bin中得到size个字节数据,该数据 被存储在size长的byte数组中返回,max为大于0的整数, 是调优参数,一般为1024的倍数,一般4位最好。

文件字节输入流

FileInputStream文件字节输入流继承InputStream 用于读取文件数据

BufferedInputStream 缓存字节输入流用于封装InputStream

T G M K B 进制1024. 1T = 1024G; 1G=1024M;

2 字节输出流---OutputStream

字节输出流OutputStream

输出数据

方法write(byte[] b);

文件字节输出流FileOutputStream ,继承OutputStream 用于对文件输出数据

缓存字节输出流BufferedOutStream

3 缓冲输入输出流--BufferedInputStream、BufferedOutputStream

目的:为了提高读写速度。

缓冲区满自动将缓冲区的内容写入磁盘中,如果缓冲区不满,内容在缓冲区里,不会写入磁盘。

flush()强制未满缓冲区内容写入磁盘。

close()也会在关闭前将缓冲区内容写入磁盘,注意缓冲流调用close()

字符流知识点

字符输入流

      • (1)字符输入流Reader
      • (2)文件字符输入流FileReader
      • (3)缓存文件字符输入流BufferedReader
      • 字符输出流

      • (1)字符输出流Writter
      • (2)文件字符输出流FileWritter
      • (3)缓存文件字符输出流BufferedWritter
  • Reader和Writer是所有字符流类的的抽象基类,用于简化对字符串的输入输出编程,即用于读写文本数据
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值