查看各对象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. Markdown转pdf

    最近由于项目需要,要用到把markdown转换成pdf文件下载下来,最开始的时候想到的是先把markdown转成html,用到的是Parsedown:然后再将html转成pdf,用到了html2pdf ...

  2. Android 数据过滤器:Filter

    类图: 通常可以将SearchView和ListView结合,实现数据的搜索和过滤. 1.监听SearchView,SearchView.setOnQueryTextListener(OnQueryT ...

  3. The message filter indicated that the application is busy. (Exception from HRESULT: 0x8001010A (RPC_E_SERVERCALL_RETRYLATER))

    消息筛选器显示应用程序正在使用中. ((错误来自 HRESULT:0x8001010A (RPC_E_SERVERCALL_RETRYLATER)) 在对Word文档进行合并或者其他操作的时候,如果数 ...

  4. blur事件

    blur事件是在元素失去焦点的时候触发,那么失去焦点的前提便是获得焦点. 哪些元素可以获取焦点呢? 1.超链接 2.input button textarea (without disabled) 3 ...

  5. HTTPS科普扫盲帖【转】

    为什么需要https HTTP是明文传输的,也就意味着,介于发送端.接收端中间的任意节点都可以知道你们传输的内容是什么.这些节点可能是路由器.代理等. 举个最常见的例子,用户登陆.用户输入账号,密码, ...

  6. ubuntu如何实现访问实际网络中windows共享文件夹

    方法一: 首先在建立一个挂载目录. sudo mkdir /mnt/share 然后就把共享目录持载进去. 服务器:192.168.6.84 共享名:gg 用户名:administrator 密 码: ...

  7. json 数组 对象 xml 之间转换(待补充)

    json 数组  xml 对象   之间转换(待补充) 1 把对象的类型或者数组转换成字符串类型(或者更确切的说是json类型的). 此处参考链接http://www.jb51.net/article ...

  8. echo json数据给ajax后, 需要加上exit,防止往下执行,带上其他数据,到时ajax失败

    01返回json数据给ajax后需要加上exit.返回json数据前不能有其他输出 function apply(){ if(IS_POST){$info['status'] = 1; echo js ...

  9. Broken Keyboard(悲剧文本)

    你有一个键盘,键盘上所有的键都能正常使用,只是Home键和End键有时会自动按下.你并不知道这一情况,而是专心地打稿子,甚至连显示器都没开电源.当你打开显示器之后,展现在你面前的是一段悲剧文本.你的任 ...

  10. LeetCode OJ 141. Linked List Cycle

    Given a linked list, determine if it has a cycle in it. Follow up:Can you solve it without using ext ...