常用的I/O流类型
1.I/O流类型基础.(类中方法和子类查看java spring API)
抽象类java.io.InputStream:是所有字节输入流的父类,定义了以字节为基本单位读取数据的基本方法
抽象类java.io.OutputStream:所有字节输出流的类型的父类
抽象类java.io.Reader: 读取输入流类型的父类
抽象类java.io.Writer:写入输出流的父类
2.常用输入/输出的类型(效率不断提高)
2.1 FileInputStream/FileOutputStream
java.io.FileInputStream :一般是从本地磁盘读取字节数据。一般使用方法是:先创建FileInputStream 对象关联到要读取的文件,然后用read()方法读取字节数据,然后再进行别的操作。如果目标文件不存在,则报错。
java.io.FileOutputStream :将字节数据写到指定文件。如果文件存在则写到指定文件,如果目标文件不存在则自动创建该文件,如果目标文件所在目录也不存在,则报错
2.2 java.io.FileWriter/java.io.FileReader
FileReader:以字符为基本单读取文本文件(保存了的文本总是按照本地操作系统进行了默认编码所以读取时不会乱码)
FileWriter:将字符数据写入到文本文件(文本进行保存时以字节进行保存,解析时可能出现乱码现象)
2.3 java.io.BufferedReader/java.io.BufferedWriter
BufferedReader:是从字符输入流中读取文本,将多个字符存入缓存提供读取字符、数据或行的有效方法。
BufferedWriter:将字符输出流缓冲后写出。(缓冲区容量可以在构造方法中指定)
2.4java.io.InputStreamReader/java.io.OutputStreamWriter
InputStreamReader和OutputStreamWriter都是把字节流转为了字符流,但是为了高效常会用BufferedReader和BufferedWriter进行封装,一般实际中都用器子类FileWriter和FileReader(除键盘操作)
2.5 PrintStream和PrintWriter 都是输出打印的类
PrintStream只能封装OutputStream类型的字节输出流
PrintWriter 既可封装OutputStream类型的字节输出流,也能封装Writer类型的字符输出流
2.6java.io.DataInpuStream/java.io.DataOutputStream(注意其读取的文件类型是.data文件并不是文本文件)
DataInpuStream:能直接读取java基本类型和String类型的数据
DataOutputStream:能直接写入java基本类型和String类型的数据
2.7java.io.CharArrayReader/java.io.CharArrayWriter
3对象序列化
Java de I/O主要是对字节或字符经常读写操作。或者对可以处理基本的数据类型,但是都不能处理String以外的引用类型,“序列化”是将并行数据转换为串行数据的处理过程,而“对象序列化”是将对象的状态数据以字节流的形式进行处理,从而被I/O流操作
常用的I/O流类型的更多相关文章
- 1.java.io包中定义了多个流类型来实现输入和输出功能,
1.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分 类,按功能分为:(C),如果为读取的内容进行处理后再输出,需要使用下列哪种流?(G) A.输入流和输出流 B ...
- MySQL常用的七种表类型(转)
MySQL常用的七种表类型(转) 其实MySQL提供的表类型截至到今天已经有13种,各有各的好处,但是民间流传的常用的应该是7种,如果再细化出来,基本上就只有两种:InnoDB.MyIASM两种. ...
- Linux 操作系统常用的三种流012
Linux 操作系统常用的三种流: 0 标准输入流 1 标准输出流 2 标准错误流 通常在写脚本启动程序,写log时候,会出现如下写法: nohup commod > log.txt 2> ...
- Java中I/O流之处理流类型
节点流:一个管道直接连接到数据源上面: 处理流:套在别的管道上面的管道: 处理流类型: [注]:在字符流中的OuPutStreamReader写错了,应该是:OutputStreamWriter
- MyISAM、InnoDB、Memory这3个常用引擎支持的索引类型
表格对比了MyISAM.InnoDB.Memory这3个常用引擎支持的索引类型: 索引 MyISAM引擎 InnoDB引擎 Memory引擎 B-Tree索引 支持 支持 支持 HASH索引 不支持 ...
- 各浏览器对常用或者错误的 Content-Type 类型处理方式不一致
标准参考 content-type 用于定义用户的浏览器或相关设备如何显示将要加载的数据,或者如何处理将要加载的数据,此属性的值可以查看 MIME 类型. MIME (Multipurpose Int ...
- js事件常用操作、事件流
注册事件 给元素添加事件,称为注册事件或者绑定事件. 注册事件有两种方式:传统方式和方法监听注册方式 传统方式 on开头的事件,例如onclick <button onclick="a ...
- JavaIO流原理之常用字节流和字符流详解以及Buffered高效的原理
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827509.html Java的流体系十分庞大,我们来看看体系图: 这么庞大的体系里面 ...
- linux常用命令:Linux 文件类型与扩展名
Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念.我们通过一般应用程序而创建的比如file.txt.file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文 ...
随机推荐
- JSONModel 遇见关键字为id或者description
像id.description这样的,都是系统自带的,要解析它,得特殊处理一下.我用的是JSONModel { "contentList": [ { "id": ...
- Selenium2学习-014-WebUI自动化实战实例-012-Selenium 操作下拉列表实例-div+{js|jquery}
之前已经讲过了 Selenium 操作 Select 实现的下拉列表:Selenium2学习-010-WebUI自动化实战实例-008-Selenium 操作下拉列表实例-Select,但是在实际的日 ...
- JavaScript实现在文本框中输入空格时自动填写某个值
<script language="javascript" type="text/javascript"> var txtText4 = " ...
- miaov- 自动生成正V反V大于号V小于号V楼梯等图案
1. 核心:控制 数量的长度-1-i的位置,是放在left上还是top上?是放在前面还是后面! <!DOCTYPE html> <html lang="en"&g ...
- ubuntu下安装boost环境
改自 http://blog.chinaunix.net/uid-12226757-id-3427282.html =============第一种: 也是最简单的:进入linux系统后,输入 # ...
- 设置tomcat的编码为utf-8
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" ...
- ionic一些常见问题及方法(网页链接式)
ionic 进入二级目录以后隐藏底部导航栏(tabs) http://blog.csdn.net/shenshucong520/article/details/48287811ionic三级目录乃至多 ...
- Linux权限值问题
0660:从左向右:第一位:(我不清楚,也没有用过)第二位:当前用户的经权限:6=110(二进制),每一位分别对就 可读,可写,可执行,,6说明当前用户可读可写不可执行第三位:group组用户,6的意 ...
- [转载]浅谈C/C++内存泄漏及其检测工具
http://dev.yesky.com/147/2356147_3.shtml 对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题.已经有许多技术被研究出来以应对这个问题,比如Sm ...
- 前端学习——css基础知识,选择器与html模板、值得收藏的html标签
一.css需要的html(采用html5标准) DTD,文档类型声明: <!Doctype html> 文本编码声明: <meta charset="utf-8" ...