Java基础自学笔记——第十五章:二进制I/O

第十五章:二进制I/O

在这里插入图片描述
文件可以分为文本或二进制的
文本文件由字符序列构成,二进制文件由位序列构成
【补充 20220301】
字符流无法拷贝非纯文本文件的原因
因为字符流在读取字符的时候会将字节转换为字符,如果在码表中没有找到相应字符,那么就会解析成? 读文件的时候也会显示? 造成文件损坏。

1.处理文本I/O的方法是使用Scanner类来读取文本数据,使用PrintWriter类来写文本数据

二进制I/O不涉及编码和解码,比文本I/O更加高效

2.二进制I/O类
抽象类InputStream和OutputStream是读取和写入二进制文件的根类
[注意]
fileOutputStream有四个构造方法:

FileOutputStream(file:File)
FileOutputStream(filename:String)
FileOutputStream(file:File appen:boolean)
FileOutputStream(filename:String appen:boolean)

前两种构造方法,如果文件不存在,则创建文件,如果文件存在,则先删除文件,后两个是在文件存在的基础上追加数据,appen 为true即可

3.随机访问文件
java提供一个RandomAccessFile类,允许从文件的任何位置进行数据的读写

RandomAccessFile raf=new RandomAccessFile("test.txt","r");//只读
RandomAccessFile raf=new RandomAccessFile("test.txt","rw");//可读写
InputStream//输入字节流

InputStreamReader//字节流转为字符流

BufferedReader//从字符流中读取文本

二进制I/O没有展开来讲,后期会逐步完善,接下来稍微提一下递归的特点:

  • 使用if-else或switch语句引导不同的情况
  • 一个或多个基础情况来停止递归
  • 每次递归都会简化原始问题
    【补充 20220218】
    常用类继承图
    在这里插入图片描述
    在这里插入图片描述
    完整版:
    IO流常用类继承关系图

本章总结的内容较少,后期会不断完善,java基础的学习也基本告一段落,今后会好好复习所学的知识,多看看自己整理的笔记。

加油!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值