您的位置:首页 > 职场人生

黑马程序员——Java IO总结二

2015-07-25 16:22 330 查看
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

打印流

PrintStream

   字节打印流,可对多种数据类型进行打印,构造函数可以接收的类型1、File对象,2、字符串路径,3、字节输出流。使用时注意write和print方法的区别

PrintWriter

   字符打印流,构造函数可以接收的类型1、File对象,2、字符串路径,3、字节输出流,4、字符输出流

序列流

SequenceInputStream 

   值负责源,应用可进行多个文件的合并,1、可接收两个InputStream流用于合并,2、可接收生成运行时类型为
InputStream
对象的
Enumeration
型参数

   获取Enumeration的方法,1、Vector的elements方法,集合可返回此向量的枚举,2、用List的迭代和自定义枚举获取枚举类,3、用collections工具类也可以获得枚举类

  文件切割方法1、按大小切,2、按个数切

           a、读取流关联文件

           b、定义一个缓冲区

           c、创建目的,在循环内创建流与目的文件的关联,即每次都可用一个新的流与新的文件写入

           切割文件时,记录文件名称和个数存放于配置文件中,以便用于合并

对象流

ObjectInputStream和ObjectOutputStream

       被操作的对象要实现Serializable(标记接口),给类加上一个ID,强烈建议自己显示设置ID

       静态不能被序列化,静态在方法区中

      Transient 非静态也不能被序列化

管道流

PipedInputStream和PipedOutputStream

 主要在多线程时使用

随机读取流

RandomAccessFile

      随机访问文件,自身具备读写方法

      通过SkipByte(int x)、seek(int x) 来达到随机访问

      直接继承自Object,但是IO包成员,因为其具备读写功能

      用getFilePointer获取指针位置

      用seek改变指针位置

      其完成读写的原理就是其内部封装了字节输入流和输出流

      只能操作文件,且还有模式

     可实现任意位置的写入,可以多线程写入,断点续传

数据流

DataInputStream和dataOutputStream

     基本数据类型的数据的流对象

字节流

 ByteArrayInputStream和ByteArrayOutputStream

        ByteArrayInputStream在构造时需接入数据源,且数据源是一个字节数组

        ByteArrayOutputStream在构造时不用定义数据目的,因为该对象内已经封装了可变长度的字节数组,这就是数据的目的地

        因为这两个流对象都是操作的数组,并没有用系统资源,所以不用close关闭

字符流

CharArrayReader和CharArrayWriter

字符串流

StringReader和StringWriter
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: