云南高端网站建设,网站建设培训班学费,c 怎么做能让窗体访问网站,建站平台社区六、IO流
概述 分类 纯文本文件#xff1a;Windows自带的记事本打开能读懂的
eg#xff1a;txt文件#xff0c;md文件#xff0c;xml文件#xff0c;lrc文件
IO流体系 字节流 FileOutputStream 操作本地文件的字节输出流#xff0c;可以把程序中的数据写到本地文件中…六、IO流
概述 分类 纯文本文件Windows自带的记事本打开能读懂的
egtxt文件md文件xml文件lrc文件
IO流体系 字节流 FileOutputStream 操作本地文件的字节输出流可以把程序中的数据写到本地文件中 创建字节输出流对象 写数据 释放资源 写数据的3种方式 FileInputStream 操作本地文件的字节输入流可以把本地文件中的数据读取到程序中 创建字节输入流对象 读数据 释放资源 循环读取 一次读取多个字节 文件拷贝write要从0索引开始长度为读取到的len
计算机存储 计算机最小的存储单元字节 一个字节有8位8个比特位 eg0111 1100 1开头的两个字节是中文高位字节的第一位是1 0开头的一个字节是英文 编码与解码 字符流 FileReader 缓冲区8192的字节数组 读取的时候先读取缓冲区没有的从文件中获取数据转到缓冲区中
FileWriter 缓冲区装满会自动保存 flush自动刷新还可以继续写数据 close无法继续写数据
缓冲流包装 eg:
BufferedInputStream bis new BufferedInputStream(new FileInputStream(a.txt));
BufferedOutputStream bos new BufferedOutputStream(new FileOutputStream(a.txt)); Windows:/r/n Linux/n Mac:/r
转换流 字符流与字节流的桥梁 是字符流的子类 把字节流装换成字符流 InputStreamReader 把字符流装换成字节流 OutputStreamWriter
eg:
InputStreamReader isr new InputStreamReader(new FileInputStream(a.txt), GBK);
OutputStreamWriter osw new OutputStreamWriter(new FileOutputStream(b.txt),UTF-8);
JDK11版本替代
字符流本身可以指定编码格式
eg:
FileReader fr new FileReader(a.txt, Charset.forName(GBK));
FileWriter fw new FileWriter(b.txt,Charset.forName(UTF-8)); 序列化流包装字节流 对象操作输出流把Java中的对象写在本地中 写出的时候要在对象类中是实现一个Serializable接口 Serializable是一个标记型接口没有抽象方法 反序列化流包装字节流 对象操作输入流把序列化的文件中的对象读取到程序中 版本号修改对象类之后还可以保证读取到文件对象 eg private static final long *serialVersionUID* 1L; transient瞬态关键字 不会把当前的属性序列化到文件中 序列化多个对象时将对象放到一个集合中 反序列化读取时可以直接读取一个集合强转Object在进行集合遍历
打印流包装输出流 字节打印流 字符打印流 字符流底层有缓冲区想要自动刷新需要开启 解压缩流/压缩流
解压缩流 压缩流
单个文件 文件夹 递归
Common-is Hutool工具包 properties配置文件 读取load()方法