【DAY14】第十四天I/O学习笔记

BufferedOutputStream:缓冲区字节输出流

---------------------------------

1.Object --> OutputStream --> FilterOutputStreasm --> BufferedOutputStreamss

2.使用装饰模式

3.write()

BufferedInputStream : 缓冲字节区输入流

-------------------------------

1.Object --> InputStream --> FilterInputStream --> BufferedInputStream

2.read()

3.close()

释放与之关联的系统资源。多次关闭没有影响。

从外部向里面关闭。

FileReader

FileWriter

BufferedReader

LineNumberReader

BufferedWriter

--------------------

FileInputStream

FileOutputStream

BufferedInputStream

BufferedOutputStream

字节数组输出流:ByteArrayOutputStream

--------------------------------------

1.Object --> OutputStream --> ByteArrayOutputStream

2.在内存中开辟空间,存放数据。不是缓冲区流

字节数组输入流 : ByteArrayInputStream

--------------------------------------

1.Object --> InputStream --> ByteArrayInputStream

字节数组输出流 : ByteArrayOutputStream

--------------------------------------

1.Object --> OutputStream --> ByteArrayOutputStream

//使用OutputStreamWriter对FileOutputStream包装,通过包装流写入字符数据到文件中。

InputStreamReader :

---------------------------------------

是从字节流到字符流的桥梁,读取字节数组并解码(使用指定的字符集)成字符。字符集可以使用名称指定也可以

指定charset对象,或者平台默认也可以。

每次read()方法调用,都会引发底层字节流读取一个或者多个字节数据。如果需要高效来处理,可以对其使用

BufferedReader进行包装。

1.Object --> Reader --> InputStreamReader

2.不是缓冲区流

3.使用时,尽量使用BufferedReader对其进行包装,提高效率。

OutputStreamWriter :

---------------------------------------

1.是从字符流到字节流的桥梁。

2.Object --> Writer --> OutputStreamWriter

3.不是缓冲区流

4.使用时,尽量使用BufferedReader对其进行包装,提高效率。

时间: 2024-10-25 20:25:45

【DAY14】第十四天I/O学习笔记的相关文章

《SLAM十四讲》个人学习知识点梳理

0.引言 从六月末到八月初大概一个月时间一直在啃SLAM十四讲[1]这本书,这本书把SLAM中涉及的基本知识点都涵盖了,所以在这里做一个复习,对这本书自己学到的东西做一个梳理. 书本地址:http://www.broadview.com.cn/book/4938 书本代码:https://github.com/gaoxiang12/slambook 1.SLAM概述 SLAM:即时定位与地图构建(Simultaneous Localization and Mapping) 数学描述: 一个典型的

轻松学习JavaScript二十四:DOM编程学习之操作CSS样式(一)

CSS样式作为HTML的辅助,可以增强页面的显示效果.前面学了DOM操作HTML,因此也要学DOM操作CSS 样式的方法.在学习CSS的时候,已经知道了CSS插入到HTML文档有三种情况,分别为:行内式,内嵌式和外联式 (这是我们最常用的).下面就来看怎么操作这三种情况: 一操作行内式 先来写一个HTML文档: <span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0

IO学习(十四)总结IO学习1-13

在javaIO学习过程中,IO流数不胜数,各自的构造方法和常用方法也各有不同,尤其加入处理流,比如缓冲流,转换流以后,创建一个流类对象就显的特别复杂,下面就总结之前1-13种用到所有IO流的常用构造方法 1.File类 File file=new File("F:/Picture/test/test.txt"); 具体方法不写了,IO学习2对File类的介绍比较详细了 2.FileInputStream类 InputStream is=new FileInputStream(file)

第十四节,OpenCV学习(三)图像的阈值分割

图像的阈值处理 图像的阈值分割:图像的二值化(Binarization) 阈值分割法的特点是:适用于目标与背景灰度有较强对比的情况,重要的是背景或物体的灰度比较单一,而且总可以得到封闭且连通区域的边界. 一.简单阈值 选取一个全局阈值,然后把图像分成非黑即白的二值图像. cv2.threshold()[源图像矩阵,进行分类的阈值,高于(低于)阈值时赋予的新值,方法选择参数] 返回两个值:阈值,阈值处理后的图像矩阵. cv2.THRESH_BINARY(黑白二值) cv2.THRESH_BINAR

Nginx详解二十四:Nginx深度学习篇之灰度发布

实战场景 - 灰度发布 灰度发布的作用:按照一定的关系区别,分部分的代码进行上线,使代码的发布能平滑过渡上线实现方式: 1.用户的信息cookie等信息区别 2.根据用户的IP地址 安装memcached:yum -y install memcached 准备好两个tomcat,9090代表生产环境,8080代表预发布环境 为避免冲突,修改tomcat9090的端口号 这里分别在同个tomcat/webapp/ROOT/下放了同样内容的jsp文件 把8080下的jsp问价内容改一下区别于9090

十四、Django3.0学习之django.utils.encoding未发现 python_2_unicode_compatible包

python3+Django3 请使用 from six import python_2_unicode_compatible 替代 from django.utils.encoding import python_2_unicode_compatible 原文地址:https://www.cnblogs.com/chushujin/p/12539753.html

MFC—第十课(一)学习笔记

F编程练习—第十课 知识清单 图形的绘制 设置对话框 颜色对话框 字体对话框 如何在窗口中显示一幅位图 (1)添加一个菜单 绘图 (2)在这个菜单中添加四个菜单项 点,直线,矩形,椭圆 (3)分别为这四个菜单项添加命令响应 注意:class name选择:view类 下面是在view类中新增的四个函数 F编程练习—第十课 知识清单 图形的绘制 设置对话框 颜色对话框 字体对话框 如何在窗口中显示一幅位图 (1)添加一个菜单 绘图 (2)在这个菜单中添加四个菜单项 点,直线,矩形,椭圆 (3)分别

【IT十八掌大数据】学习笔记

hive简介: -------------------- 0.big data的特点:4 Volumn variety velocity value 1.介绍 数据仓库    //online analyze process,在线分析处理. 用来查询和管理位于分布式存储设备上的大型数据集. Hive提供了一种类SQL语言--HiveQL(HQL)进行查询分析. HiveQL可进行插件式扩展. 擅长处理结构化数据.非结构化的数据没办法创建对应的模式. 位于hadoop之上,重点在于对大数据进行分析

第十二章 并发编程 学习笔记

第十二章 并发编程 进程是程序级并发,线程是函数级并发. 三种基本的构造并发程序的方法: 进程:每个逻辑控制流是个一个进程,由内核进行调度和维护. I/O多路复用:应用程序在一个进程的上下文中显式地调度他们自己的逻辑流. 线程:运行在单一进程上下文中的逻辑流,由内核进行调度. 12.1 基于进程的并发编程 构造并发程序最简单的方法就是用进程. 使用大家都很熟悉的函数例如: fork exec waitpid 关于在父.子进程间共享状态信息:共享文件表,但不共享用户地址空间. 进程又独立的地址空间