Java基础知识总结之IO流
2015-07-23 10:08
288 查看
理解Java的IO流
流(Stream)的概念:程序与数据来源之间的桥梁流的分类
按流的方向来分(从程序所在的内存的角度来看):输入流:把外部输入读入当前程序所在内。
输出流:把当前程序所在内存的数据输出到外部
按流处理得数据来分:
字节流:它处理数据单元是字节(8bit),适应性广、功能强大。
字符流:它处理的数据单元是字符。通常来说它主要处理文本文件, 它在处理文本文件时,比字节流更方便。
字节流和字符流的区别:
读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。
处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。
结论:只要是处理纯文本数据,就优先考虑使用字符流。 除此之外都使用字节流。
按流的角色来分:
节点流:直接和一个IO的物理节点(磁盘上的文件、网络)关联。
包装流(处理流):以节点为基础,包装之后得到的流。都继承FilterXxx等基类。
IO体系
Java传统IO的基本体系:字节输入流 字节输出流 字符输入流 字符输出流
InputSteam OutputStream Reader Writer
访问文件 FileXxx
访问数组 ByteArrayXxx CharArrayXxx
访问管道 PipedXxx
访问字符串 StringXxx
过滤流 FileterInputStream FileterOutputStream FileterReader FilterWriter
缓冲流 BufferedXxx
打印流 PrintStream PrintWriter
转换流 InputStreamReader OutputStreamWriter
特殊流 DataInputStream DataOutputStream
对象流 ObjectInputStream ObjectOutputStream
对象序列化的相关知识链接:
相关文章推荐
- Fitnesse在eclipse中的调试
- ECharts 与struts的后台交互之柱状图
- JAVA自动装箱拆箱以及装箱时的缓存问题
- java正则匹配
- 解决properties文件乱码问题(eclipse和MyEclipse)
- cxf+spring开发(二)--- Ip地址拦截器,限制客户端Ip地址,只允许数据库中已经配置的Ip地址
- java多线程表示10个人抢占2个位置
- 非web工程下 spring+Hibernate整合
- jdk环境变量配置
- spring3.1 profile 配置不同的环境
- Java EE开发中Eclipse ee Servlet不能自动在web.xml里写入的问题
- Eclipse 项目转移到Android Studio遇到的问题
- Myeclipse8.5中svn插件安装方法总结
- Java计算两个时间的时间差
- Eclipse关联ndk-build(自建Builder方法)
- Java基础之数据类型、修饰符、数组
- Java Swing版单机版三国杀
- java 定时器在项目中的运用
- 关于eclipse安装插件的总结
- Java Mybatis 框架入门教程