IO流
字节流
字节流比如:用记事本打开jpg文件
字节流是万能的流
在源程序中查看字节流抽象类InputStream
同理抽象类OutputStream
抽象类OutputStream有个子类叫FileOutputStream(ctrl+H)
其中有五个构造器
FileOutputStream(String name):以指定的名称写入文件
写数据的方法write(int)
需要释放资源
写数据的三种方法
简便写法
字节流数据如何实现换行?
直接在文件夹中打开可能不显示换行,因为不同操作系统的换行符不一样,但我的win10换行了
如何实现追加写入?
因为每次执行main方法,显示都只有10个hello,而不是执行一次10个hello
构造器中可以有第二个boolean参数
异常处理
我的直接这样就可以了,视频的close报错,需要给close()添加一个try-cash,有可能是IDEA版本的问题
我在Z盘创建一个文件,报了两个异常
-
找不到路径
-
空指针:因为没找到路径,创建输出流对象就没执行,也就是fos还是null,给一个null执行close()一定是空指针异常
给close()加一个判断
字节流读数据
注意不要这样写
因为两行fos.read()执行了两次,第一次是97,第二次是把98转换为b
快捷键ctrl+shift+z重做
优化
案例:复制文本文件
将E:\code\祝福.txt复制到项目目录
需要加释放资源