码迷,mamicode.com
首页 > 其他好文 > 详细

IO包中的其他类

时间:2016-10-02 00:29:57      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:

查看各对象API文档

打印流

PrintWriter

PrintStream

 

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

SequenceInputStream

 1 public static void main(String[] args) throws IOException {
 2 
 3         
 4         /*
 5          * 需求:将1.txt 2.txt 3.txt文件中的数据合并到一个文件中。
 6          */
 7         
 8 //        Vector<FileInputStream> v = new Vector<FileInputStream>();        
 9 //        v.add(new FileInputStream("1.txt"));
10 //        v.add(new FileInputStream("2.txt"));
11 //        v.add(new FileInputStream("3.txt"));
12 //        Enumeration<FileInputStream> en = v.elements();
13         
14         ArrayList<FileInputStream> al = new ArrayList<FileInputStream>();
15         for(int x=1; x<=3; x++){
16             al.add(new FileInputStream(x+".txt"));
17         }
18         
19         Enumeration<FileInputStream> en = Collections.enumeration(al);
20         
21         
22         
23         /*
24         final Iterator<FileInputStream> it = al.iterator();
25         Enumeration<FileInputStream> en = new Enumeration<FileInputStream>(){
26 
27             @Override
28             public boolean hasMoreElements() {
29                 
30                 return it.hasNext();
31             }
32 
33             @Override
34             public FileInputStream nextElement() {
35                 
36                 return it.next();
37             }
38             
39         };*/
40         
41         SequenceInputStream sis = new SequenceInputStream(en);
42         
43         FileOutputStream fos = new FileOutputStream("1234.txt");
44         
45         byte[] buf = new byte[1024];
46         
47         int len = 0;
48         
49         while((len=sis.read(buf))!=-1){
50             fos.write(buf,0,len);
51         }
52         
53         fos.close();
54         sis.close();
55         
56     }

 

操作对象的流:被操作的对象必须要序列化,即要实现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包中的其他类

标签:

原文地址:http://www.cnblogs.com/lxboy2009/p/5926596.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!