Java - IO流
(IO随用随创建,不用了就关流)
1.字节流
OutputStream(字节输出流,写出)
FileOutputStreanm



off表示起始索引,len表示截取长度
Windows换行符:"\r\n" Linux:"\n" Mac:"\r"
续写:创建对象第二个参数写true
字节打印流(特有方法会原样输出)


无缓冲区,自动刷新无用
InputStream(字节输入流,读取)
FileInputStreanm

编码、解码


字节缓冲流(效率高)

序列化流(对象操作输出流)、反序列化流(对象操作输入流)
- ObjectOutputStream


- ObjectInputStream


序列化流可以把Java中对象写到本地文件中,
反序列化流可以读取
细节:1.使用时JavaBean类需要实现标记型接口Serializable
2.因JavaBean类经常需要改动,故需要固定版本号private static final long serialVersionUID = ;
3.transient修饰的属性不会参与序列化
4.批量序列化、反序列化,可将对象存入ArrayList操作
2.字符流
Reader
FileReader


Writer
FileWriter



字符打印流


有缓冲区,自动刷新需要手动开启
字符缓冲流



方法常用,newLine可在Windows、Linux、Mac不同系统进行换行操作
转换流
- InputStreamReader
- OutputStreamWriter
作用:
1.JDK11以前用指定字符集读取数据
2.字节流想要使用字符流中方法,如readLine()
Commons-io工具包
使用步骤

常见方法


Hutool工具包

1.注意FileReader和FileWriter与java自带io包下方法重名,导包注意包名
2.Hutool包下的相对路径是相对class而言的,所以如果想要放在当前路径,就要将路径写全,或者套一层java下io的File

浙公网安备 33010602011771号