Welcome, NewComer

Java - IO流

(IO随用随创建,不用了就关流)

1.字节流

OutputStream(字节输出流,写出)

FileOutputStreanm

image
image
image

off表示起始索引,len表示截取长度
Windows换行符:"\r\n" Linux:"\n" Mac:"\r"
续写:创建对象第二个参数写true

字节打印流(特有方法会原样输出)


无缓冲区,自动刷新无用

InputStream(字节输入流,读取)

FileInputStreanm

image

编码、解码

image
image

字节缓冲流(效率高)

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

  • ObjectOutputStream

  • ObjectInputStream

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

2.字符流

Reader

FileReader

image
image

Writer

FileWriter

image
image
image

字符打印流


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

字符缓冲流



方法常用,newLine可在Windows、Linux、Mac不同系统进行换行操作

转换流

  • InputStreamReader
  • OutputStreamWriter

作用:
1.JDK11以前用指定字符集读取数据
2.字节流想要使用字符流中方法,如readLine()

Commons-io工具包

使用步骤

常见方法


Hutool工具包

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

posted @ 2024-08-09 14:31  Through287  阅读(22)  评论(0)    收藏  举报