io流 常用方法总结
按照流的流向 分为输入流 输出流
按照流的角色 分为节点流 处理流
节点流:向一个特定的io设备(磁盘,网络)读写 数据的流
处理流:对一个已经存在的流进行连接和封装,通过封装后流来实现数据读写功能
处理流的功能主要体现:
1 性能的提高:主要增加缓冲的方式来提高输入/输出的效率
2 操作的便捷:处理流可能提供了方法来一次输入、输出大批量的内容,不管从哪里来的流,程序只要将这些节点流高 装成处理流在输出
总结:
节点流直接与程序相连,处理流与底层的IO设备,文件向交互
当把节点流处理成处理流时,用处理流的处理方式进行处理
1 File 文件的操作
使用相对路径获取父路径时 可能发生错误,因为该方法的返回File对象对应目录名,文件名里最后一个子目录名,子文件名删除后的结果 所以可能引起错误,当使用绝对路径时,不会发错误
2 文件过滤器
1 过滤当前路径的 list方法
2 过滤子文件夹 子目录的myFilenameFilter
3 PushBackInputStream 和 PushbackReader
推回输入流 作用:过滤输入流里不需要的东西 (没例子)
他们都自带一个推回缓冲区 当调用unread方法时,系统将数组的内容推回缓冲区里,而推回输入流每次调用Read方法时先读缓冲区里的,如果推回缓冲区里全部读完,read数组还没有完全读满 才会从原输入流读取
使用时 先规定推回缓冲区的大小 默认长度为一
特点: 1 支持任意访问 程序可以直接跳转到文件的任意地方来读写数据
2 既可以读也可以写,拥有inputStream Read 和 outputStream writer 方法
mode参数4个值:
1 “r”: 以只读的方式打开指定文件。
2 “rw”: 以读取,写入方式打开指定文件,如果文件尚不存在则尝试创建该文件
3 “rws” 以读取,写入的方式打开指定文件。相对于“rw” 模式,还要对文件的内容或数据的每个更新都同步写入到底层存储设备
4 “rwd”:以读写,写入的方式打开指定文件,对于“rw”还要对文件的内容每个更新都同步写入到底层存储设备
个人测试发现 一个汉字3个字节 换行占一个字节
5 在末尾添加内容