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. 1.java.io包中定义了多个流类型来实现输入和输出功能,

    1.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分 类,按功能分为:(C),如果为读取的内容进行处理后再输出,需要使用下列哪种流?(G)   A.输入流和输出流 B ...

  2. MySQL常用的七种表类型(转)

    MySQL常用的七种表类型(转)   其实MySQL提供的表类型截至到今天已经有13种,各有各的好处,但是民间流传的常用的应该是7种,如果再细化出来,基本上就只有两种:InnoDB.MyIASM两种. ...

  3. Linux 操作系统常用的三种流012

    Linux 操作系统常用的三种流: 0 标准输入流 1 标准输出流 2 标准错误流 通常在写脚本启动程序,写log时候,会出现如下写法: nohup commod > log.txt 2> ...

  4. Java中I/O流之处理流类型

    节点流:一个管道直接连接到数据源上面: 处理流:套在别的管道上面的管道: 处理流类型: [注]:在字符流中的OuPutStreamReader写错了,应该是:OutputStreamWriter

  5. MyISAM、InnoDB、Memory这3个常用引擎支持的索引类型

    表格对比了MyISAM.InnoDB.Memory这3个常用引擎支持的索引类型: 索引 MyISAM引擎 InnoDB引擎 Memory引擎 B-Tree索引 支持 支持 支持 HASH索引 不支持 ...

  6. 各浏览器对常用或者错误的 Content-Type 类型处理方式不一致

    标准参考 content-type 用于定义用户的浏览器或相关设备如何显示将要加载的数据,或者如何处理将要加载的数据,此属性的值可以查看 MIME 类型. MIME (Multipurpose Int ...

  7. js事件常用操作、事件流

    注册事件 给元素添加事件,称为注册事件或者绑定事件. 注册事件有两种方式:传统方式和方法监听注册方式 传统方式 on开头的事件,例如onclick <button onclick="a ...

  8. JavaIO流原理之常用字节流和字符流详解以及Buffered高效的原理

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827509.html      Java的流体系十分庞大,我们来看看体系图:        这么庞大的体系里面 ...

  9. linux常用命令:Linux 文件类型与扩展名

    Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念.我们通过一般应用程序而创建的比如file.txt.file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文 ...

随机推荐

  1. The Best Path---hdu5883(欧拉路径)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5883 题意:n 个点 m 条无向边的图,找一个欧拉通路/回路使得这个路径所有结点的异或值最大. 先判断 ...

  2. C#连接数据库的四种方法(转)

    C#连接数据库的四种方法 在进行以下连接数据库之前,请先在本地安装好Oracle Client,同时本次测试System.Data的版本为:2.0.0.0. 在安装Oracle Client上请注意, ...

  3. i++和++i的区别

    先看如下程序: class Program { static void Main(string[] args) { ; ; ; ; x = i++; Console.WriteLine("x ...

  4. 【转】深入理解TextView实现Rich Text--在同一个TextView设置不同字体风格

    深入理解TextView实现Rich Text--在同一个TextView设置不同字体风格 作者: 字体:[增加 减小] 类型:转载   本篇文章是对Android中在同一个TextView中设置不同 ...

  5. ajax 调用asp.net后台方法

    ajax 调用asp.net后台方法  这种做法有好几种,如调用xx.asxh 页面,或者直接调用xx.aspx也面,在page_Load中进行一些判断然后调用后面的其他方法, 或者你可以直接调用we ...

  6. NSUserDefaults的小封装

    //保存 -(void)saveToUserDefaults:(NSString*)tosaveedString withKey:(NSString *)tosaveedKey {  NSUserDe ...

  7. UIFont 设置字体

    abel.font = [UIFont fontWithName:@"Arial-BoldItalicMT" size:24]; 字体名如下: Font Family: Ameri ...

  8. 30天,APP创业从0到1【7.25上海站】

    活动概况 时间:2015年7月25日13:30-16:30 地点:太库•上海孵化器(张江金科路2889号长泰广场c座12楼) 主办:APICloud.诸葛.圣诺资讯 联合主办:微链.太库•上海孵化器 ...

  9. 堆heap和栈Stack(百科)

    堆heap和栈Stack 在计算机领域,堆栈是一个不容忽视的概念,堆栈是两种数据结构.堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除.在单片机应用中,堆栈 ...

  10. tengine安装lua

    转子: http://www.cnblogs.com/shengshuai/p/4244851.html 参考: http://www.ttlsa.com/nginx/nginx-lua/ 学习:ht ...