博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常用的I/O流类型
阅读量:7052 次
发布时间:2019-06-28

本文共 1477 字,大约阅读时间需要 4 分钟。

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流操作

  

 

转载于:https://www.cnblogs.com/Spring-Rain/p/5397314.html

你可能感兴趣的文章
HTTP请求报文和HTTP响应报文
查看>>
第3课 - 初识程序的灵魂
查看>>
WordPress插件扫描工具plecost
查看>>
【PDF】Java操作PDF之iText超入门
查看>>
PHP:第五章——字符串过滤函数
查看>>
Spring中ApplicationContextAware的用法
查看>>
flask的session解读及flask_login登录过程研究
查看>>
ElasticSearch单机多实例环境部署
查看>>
python 练习
查看>>
Centos 安装 nload
查看>>
python3简单使用requests
查看>>
由一次java作业 引起的思考
查看>>
HDU 3389 Game(博弈)
查看>>
仅IE支持clearAttributes/mergeAttributes方法
查看>>
Linux中U盘和SD卡加载卸载命令
查看>>
github push403错误的处理
查看>>
Hibernate与 MyBatis的比较
查看>>
关于百度地图API的地图坐标转换问题
查看>>
【操作系统】设备管理(五)
查看>>
ArcObject开发时,axtoolbarcontrol中一些添加的按钮是灰色的问题
查看>>