IO流

字节流

image-20210824100247810

image-20210824100707908

image-20210824100759610

image-20210824100924311

字节流比如:用记事本打开jpg文件

字节流是万能的流

在源程序中查看字节流抽象类InputStream

image-20210824101454450

image-20210824101507516

同理抽象类OutputStream

image-20210824102238858

image-20210824102151119

image-20210824102327184

抽象类OutputStream有个子类叫FileOutputStream(ctrl+H)

image-20210824102706561

image-20210824102839547

image-20210824102949695

其中有五个构造器

image-20210824103023702

FileOutputStream(String name):以指定的名称写入文件

image-20210824144835682

写数据的方法write(int)

image-20210824144959302

image-20210824150116453

image-20210824150126859

需要释放资源

image-20210824150334704

image-20210824150357030

image-20210824150756061

写数据的三种方法

image-20210824152333551

image-20210824152919079

简便写法

image-20210824153253570

字节流数据如何实现换行?

image-20210824160958998

直接在文件夹中打开可能不显示换行,因为不同操作系统的换行符不一样,但我的win10换行了

image-20210824161218527

如何实现追加写入?

因为每次执行main方法,显示都只有10个hello,而不是执行一次10个hello

构造器中可以有第二个boolean参数

image-20210824161558064

image-20210824161644302

image-20210824161735482

异常处理

image-20210824162900741

image-20210824162738837

image-20210824163050258

我的直接这样就可以了,视频的close报错,需要给close()添加一个try-cash,有可能是IDEA版本的问题

我在Z盘创建一个文件,报了两个异常

  • 找不到路径

  • 空指针:因为没找到路径,创建输出流对象就没执行,也就是fos还是null,给一个null执行close()一定是空指针异常

image-20210824163422422

给close()加一个判断

image-20210824163746726

字节流读数据

image-20210824163959554

image-20210824164020507

image-20210824164050581

image-20210824164859305

注意不要这样写

image-20210824165008095

因为两行fos.read()执行了两次,第一次是97,第二次是把98转换为b

快捷键ctrl+shift+z重做

image-20210824165335926

image-20210824165729624

优化

image-20210824165939338

案例:复制文本文件

image-20210824193034657

将E:\code\祝福.txt复制到项目目录

image-20210824194315468

需要加释放资源

image-20210824194412488

 

posted on 2021-08-24 20:35  托马斯源  阅读(32)  评论(0编辑  收藏  举报