IO流:精简入门到上手

目录

1.路径

2.IO流划分:

3.IO流涉及40多个类,实际是从下面四个抽象基类派生而成。

4.常见的流

5.字节流,字符流

1. 将A文件的内容复制到B文件中

6.缓冲流(处理流的一种)

6.1. 概念:

6.2. 缓冲流

处理非文本文字节节流:bufferredInputStream,bufferredoutputStream

处理文本文件字符流:bufferedRead,bufferedWritler

7. 转换流

7.1 概念:

8.数据流、对象流

8.1. 数据流使用较少,了解即可。

8.2. 对象流概念和作用:

额外知识-对象的序列化机制:


1.路径

绝对路径:带有盘符的路径

相对路径:1.在main方法中,相对路径是到project; 2.在单元测试方法中,相对路径到model

2.IO流划分:

1.输入流,输出流

2.字节流(8bit),字符流(16bit)。字节流一般可用户处理文件(音频,视频);字符流用于处理文本(txt)。

3.节点流,处理流

3.IO流涉及40多个类,实际是从下面四个抽象基类派生而成。

4.常见的流

5.字节流,字符流

1. 将A文件的内容复制到B文件中

使用字节流,用byte数组将读取的文件写入,减少与磁盘的交互次数。内存级别速度更快

上图中的代码字节流可替换成FileReader,FileWrilter。数组需要换成char[]。

ByteArrayOutPutStream将数据写入数组,并返回数组。

6.缓冲流(处理流的一种)

6.1. 概念:

用于大文件。创建一个临时区域,将读取的文件存入临时区,再一次性写入磁盘,减少了磁盘的IO,从而加快速度。

6.2. 缓冲流

处理非文本文字节节流:bufferredInputStream,bufferredoutputStream
处理文本文件字符流:bufferedRead,bufferedWritler

巧记:把上面的File换成buffered。

buffer缓冲流速度会快的原因:默认有一个数组去存储数据(8kb);

bufferedReader里,新增了一个readLine方法,每次读取一行,但是读取的数据是不会换行的。

7. 转换流

7.1 概念:

将字节流和字符流之前的转换称为转换流

字符编码:字符/字符串/字符数组--->字节/字节数组(看得懂的--->看不懂的)

字符解码:字节/字节数组--->字符/字符串/字符数组(看不懂的--->看得懂的)

❗编码用使用的字符集必须要和解码时候的字符集一致。

此节可设计编码格式的知识点,详细知识点转到->1.基础语法

8.数据流、对象流

8.1. 数据流使用较少,了解即可。

8.2. 对象流概念和作用:

api:ObjectInputStream、ObjectOutputStream

可读写基本数据类型的变量、引用数据类型的变量。这里说的读和写,其实就是对象的序列化机制。

额外知识-对象的序列化机制:

允许把内存中的java对象转换成平台无关的二进制流,允许把这种二进制流持久的保存在磁盘上,或者通过网络将这种二进制流传输到另外一个网络节点。//其他程序获取了这种二进制流,就可以把它恢复成java对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值