IO流

IO:存储和读取数据的解决方案

image-20251103105351192

image-20251103105939485

image-20251103110042928

FileOutputStream

image-20251103110126526

image-20251103110523063

创建细节:

  1. 参数是字符串表示的路径 或者File对象都是可以的
  2. 如果文件不存在会创建一个新的文件,但是要保证父级目录路径是存在的
  3. 如果文件已经存在,则会清空文件

写数据细节:

  1. write方法的参数是整数,但是实际上写道本地文件中的是整数在ASCLL上对应的字符

释放资源细节:

  1. 每次使用完后都要释放资源

image-20251103112016314

一次生成多个字符image-20251103114330674

换行写

image-20251103133827385

续写

image-20251103134012112

image-20251103134130737

image-20251103134749794

读取文件里面的数据
字节流读取中文会出现乱码

	int b1 = fis.read():
	System.outprintln((char)b1);
	//不强转(char)结果为Ascll编码
	//没有数据时,结果为-1

文件拷贝

image-20251103152928506

快速拷贝

image-20251104134606532

try···catch异常处理

image-20251104134739711

image-20251104135406328

image-20251104135807316

字符集

image-20251104141151282

image-20251104141314161

编码和解码

image-20251104141518083

image-20251104141858183

image-20251104141943332

image-20251104142147811

FileReader

image-20251104142230307

image-20251104142252233

image-20251104142405746

image-20251104142415284

空参的read方法image-20251104142831100

带参的read方法

image-20251104143428644

练习1
拷贝一个文件夹,考虑子文件夹

image-20251104145300752

image-20251104152350915

练习2
文件加密

image-20251104153430344

IO流

image-20251104154836781

image-20251104155808612

缓冲流

image-20251104160031917

image-20251104160218214

image-20251104160617737

image-20251104161112449

image-20251104204333930

字节缓冲提高效率的原理

image-20251106091330811

字符缓冲流BufferedWriter

image-20251106092224577

image-20251106092309491

字符缓冲输入流

image-20251106092506838

字符缓冲输出流

image-20251106093154199

如果修改bw.write里面的值将覆盖掉之前写入的

如果你不想干让他清空,则必须开启续写功能(续写是FileWriter的功能)image-20251106093448719

练习:免费试用三次

image-20251106101114840

输出流在关联文件的时候,如果文件存在就会清空

IO流创建原则
随用随创建,什么时候不用什么时候关闭

转换流

image-20251106101725161

将字符编码为其他的文件输出到屏幕

image-20251106102458170

image-20251106104942741

image-20251106105312261

image-20251106110453817

转换流小结

image-20251106110601088

序列化流/对象操作输出流

输出数据

image-20251106110715741

可以将java中的对象写到本地文件中

Serialable接口里面没有抽象方法,标记性接口
一旦实现了这个接口,那么就表示当前的Student类可以被序列化

理解:一个物品的合格证

image-20251106111441255

反序列化流

image-20251106111522339

image-20251106111640658

tips:如果你不想把某一个方法序列到本地文件当中使用

transient:瞬态关键字
作用:不会将当前属性序列化到本地文件当中

序列化/反序列化细节汇总
image-20251106141546116

image-20251106142042963

image-20251106142626333

打印流

image-20251106185617662

字节打印流

image-20251107091343134

字符打印流

image-20251107092105809

image-20251107092150073

image-20251107093555491

解压缩流/压缩流

image-20251107093726740

image-20251107093820009

image-20251107094519726

压缩流

image-20251107095608662

压缩单个文件image-20251107100134087

image-20251107100116766

压缩整个文件夹

image-20251107102643348

image-20251107103004415

posted @ 2025-11-11 14:13  1忧郁女子  阅读(0)  评论(0)    收藏  举报