Java.IO的概述

【笔记整理】
一:什么是IO?
JAVA IO:
I:指得是Java的输入。
o:指的是Java的输出。
当从外面读取数据到自己这里就用输入(InputStream/Reader),
向外面写数据就用输出(OutputStream/Writer).
Stream:Java中将数据的输入输出抽象为流,流是一组有顺序的,单向的,有起点和终点的数据集合。
按数据单元又分为字节流和字符流。
先确定一个概念:一切皆字符(任何数据都是以二进制的形式储存的)。
字节流:1byte(8bit)作为一个数据单元,数据流中最小的数据单元是字节。
字符流:1char(16bit)作为数据单元,数据流中最小数据单元是字符。
在这里插入图片描述
字节流的抽象基类:
InputStream
OutputStream

字符流的抽象基类:
Reader;
Writer

由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀,如InputStream的子类FileInputStream,Reader的子类FileReader。

在这里插入图片描述
按节点方式分:节点流和处理流

节点流:真正直接处理数据。
有文件流:FileInputStream,FileOutputStrean,FileReader,FileWriter
数组流:ByteArrayInputStream,ByteArrayOutputStream,CharArrayReader,CharArrayWriter
字符串流:StringReader,StringWriter
管道流:PipedInputStream,PipedOutputStream,PipedReader,PipedWrite

处理流:装饰加工节点。
有缓存流:BufferedImputStrean,BufferedOutputStream,BufferedReader ,BufferedWriter
转换流:InputStreamReader,OutputStreamWriter
数据:DataInputStream,DataOutputStream

File 类:文件和目录路径名的抽象表示。

File 直接继承于Object,实现了Serializable接口和Comparable接口。实现Serializable接口,意味着File对象支持序列化操作。而实现Comparable接口,意味着File对象之间可以比较大小;File能直接被存储在有序集合(如TreeSet、TreeMap中)。
在这里插入图片描述
创建文件名
在这里插入图片描述File的构造方法:
在这里插入图片描述
使用:
在这里插入图片描述
结果为:

在这里插入图片描述
相对路径和绝对路径:
绝对路径:永远指的是固定位置文件夹,从盘符开始,是一个完整的路径,例如:

在这里插入图片描述
相对路径:相对于项目目录路径,是一个不完整的便捷路径,在Java开发中常用

在这里插入图片描述

序列化技术和反序列话技术:
序列化技术:将程序的对象直接一文件形式存储起来,是按照对象的内存中存储的字符序列。
反序列技术:反过来。
想要序列化要有标记,一个接口
在这里插入图片描述
这个叫标记接口,就是为了告诉BOOK属于Sreializable的子,其实没有提供任何的抽象方法。
这样就可以运行了,然后出现这个,这个不是你能看懂的。
输出结果:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值