查看各对象API文档

打印流

PrintWriter

PrintStream

序列流:对多个流进行排列合并

SequenceInputStream

 public static void main(String[] args) throws IOException {

         /*
          * 需求:将1.txt 2.txt 3.txt文件中的数据合并到一个文件中。
          */

 //        Vector<FileInputStream> v = new Vector<FileInputStream>();
 //        v.add(new FileInputStream("1.txt"));
 //        v.add(new FileInputStream("2.txt"));
 //        v.add(new FileInputStream("3.txt"));
 //        Enumeration<FileInputStream> en = v.elements();

         ArrayList<FileInputStream> al = new ArrayList<FileInputStream>();
         for(int x=1; x<=3; x++){
             al.add(new FileInputStream(x+".txt"));
         }

         Enumeration<FileInputStream> en = Collections.enumeration(al);

         /*
         final Iterator<FileInputStream> it = al.iterator();
         Enumeration<FileInputStream> en = new Enumeration<FileInputStream>(){

             @Override
             public boolean hasMoreElements() {

                 return it.hasNext();
             }

             @Override
             public FileInputStream nextElement() {

                 return it.next();
             }

         };*/

         SequenceInputStream sis = new SequenceInputStream(en);

         FileOutputStream fos = new FileOutputStream("1234.txt");

         byte[] buf = new byte[1024];

         int len = 0;

         while((len=sis.read(buf))!=-1){
             fos.write(buf,0,len);
         }

         fos.close();
         sis.close();

     }

操作对象的流:被操作的对象必须要序列化,即要实现Serializable接口(标记接口)

ObjectInputStream

ObjectOutputStream

transient:非静态的数据不想被序列化可以用这个关键字修饰、

RandomAccessFile类:随机访问文件,自身具有读写的方法。

它不是IO体系中的子类,父类是Object

特点:

  1.该对象即能读,又能写,之前所学io对象一般只具备读或者写

  2.该对象内部维护了一个byte数组,并通过指针可以操作数组中的元素

  3.可以通过getFilePointer方法来获取指针的位置,和通过seek方法来设置指针的位置

  4.其实该对象就是对字节输入流与字节输出流进行了封装。

  5.该对象的源和目的只能是文件,通过构造函数可以看出。

管道流:输入和输出可以直接相连,通常结合线程使用。

PipedInputStream

PipedOutputStream

操作基本数据类型的流

DataInputStream

DataOutputStream

操作字节数组的流:源和目的都是内存

ByteArrayInputStream

ByteArrayOutputStream

操作字符数组的流

CharArrayInputStream

CharArrayOutputStream

操作字符串

StringRead

StringWriter

IO包中的其他类的更多相关文章

  1. 黑马程序员——【Java基础】——File类、Properties集合、IO包中的其他类

    ---------- android培训.java培训.期待与您交流! ---------- 一.File类 (一)概述 1.File类:文件和目录路径名的抽象表现形式 2.作用: (1)用来将文件或 ...

  2. Java基础---IO(三)--IO包中的其他类

    第一讲     对象序列化 一.概述 将堆内存中的对象存入硬盘,保留对象中的数据,称之为对象的持久化(或序列化).使用到的两个类:ObjectInputStream和ObjectOutputStrea ...

  3. IO包中的RandomAccessFile类

    RandomAccessFile RandomAccessFile 是随机访问文件的类.它支持对文件随机访问的读取和写入,即我们也可以从指定的位置读取/写入文件数据,因为该类在其内部封装了一个数组和指 ...

  4. Java笔记(二十八)……IO流下 IO包中其他常用类以及编码表问题

    PrintWriter打印流 Writer的子类,既可以接收字符流,也可以接收字节流,还可以接收文件名或者文件对象,非常方便 同时,还可以设置自动刷新以及保持原有格式写入各种文本类型的print方法 ...

  5. IO包中的其他类总结

    一.PrintStream和PrintWriter PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式. PrintStream 打印的所有字符都使用平台的默认字符 ...

  6. IO 包中的其他类

    打印流 PrintWriter 和 PrintWriter 直接操作输入流和文件 序列流 SequenceInputStream 对多个输入流进行合并 操作对象 ObjectInputStream 和 ...

  7. Java之IO(十四)IO包中其它类

    转载请注明出处:http://www.cnblogs.com/lighten/p/7267553.html 1.前言 此章介绍IO包中剩余未介绍的几个流和工具类,包括LineNumberReader. ...

  8. java.io包中的字节流—— FilterInputStream和FilterOutputStream

    接着上篇文章,本篇继续说java.io包中的字节流.按照前篇文章所说,java.io包中的字节流中的类关系有用到GoF<设计模式>中的装饰者模式,而这正体现在FilterInputStre ...

  9. Java IO流中的File类学习总结

    一.File类概述 File类位于java.io包中,是对文件系统中文件以及文件夹进行封装的对象,可以通过对象的思想来操作文件和文件夹. File类有多种重载的构造方法.File类保存文件或目录的各种 ...

随机推荐

  1. React - Stores

    Event emmiters that make data available, handle business logic, send events to React, and listen for ...

  2. file_zilla 通过key连接远程服务器

    file_zilla 通过key连接 01 在putty中 ifconfig -a 查看当前网站ip02 文件-站点管理器--新建站点---主机ip 端口2203协议 SFTP 就是SSH协议04登录 ...

  3. 6、50道JAVA基础编程练习题跟答案

    50道JAVA基础编程练习题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析 ...

  4. Python库 - import matplotlib.pyplot as plt 报错问题

    为了避免各种问题,请使用最新的2.7.13安装文件   1.先设置好环境变量 在path变量中设置好以下路径: C:\Python27\Scripts C:\Python27    2.大部分报错问题 ...

  5. vultr vps发布多用户管理功能

    中国用户购买海外vps,有一个麻烦之处是付款环节,可能你没有visa信用卡,vultr和digitalocean和linode这类vps不支持支付宝,给一些朋友带来不便.由此产生的vps代购行业,其实 ...

  6. mac brew install 搭建nginx php mysql

    curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1 参考 : ...

  7. dbg调试

    一.启动停止dbg dbg:tracer(). dbg:stop(). 二.跟踪常用函数 1.跟踪进程 dbg:p(PidSpec,TraceFlags). PidSpec Pid 一个特定进程ID ...

  8. Windows Text Copyer 1.1绿色版

    软件名称: Windows Text Copyer软件语言: 简体中文授权方式: 免费软件运行环境: Win 32位/64位软件大小: 269KB图片预览: 软件简介:有些网站限制复制,你可以用这个软 ...

  9. Latex 中插入图片no bounding box 解决方案

    在windows下,用latex插入格式为jpg,png等图片会出现no bounding box 的编译错误,此时有两个解决办法: 1.将图片转换为eps格式的图片 \usepackage{grap ...

  10. 解决ie阴影的兼容性

    box-shadow:0px 0px 10px #aba25b; -webkit-box-shadow:0px 0px 10px #aba25b; -moz-box-shadow:0px 0px 10 ...