java常用类解析二:IO系统输入输出类

InputStream的作用是用来表示那些从不同数据源产生输入的类。OutputStream决定了输出所要去往的目标

         数据源                                                                 对应的类(都继承自InputStream)

(1)字节数组                                                             ByteArrayInputStream  [ByteArrayOutputStream]

(2)String对象                                                           StringBufferInputStream(已弃用)

(3)文件                                                                    FileInputStream  [FileOutputStream]

(4)“管道”                                                                  PipedInputStream  [PipedOutputStream]

(5)由其它种类的流组成的序列                               SequenceInputStream

(6)其他数据源,如Internet

 

 

 

示例:

[java] view plaincopy
 
  1. <span style="font-size:16px;">package test;  
  2.   
  3. import java.io.ByteArrayInputStream;  
  4. import java.io.ByteArrayOutputStream;  
  5. import java.util.Arrays;  
  6. /* 
  7.  * ByteArrayInputStream(ByteArrayOutputStream)表示从字节数组产生输入(输出) 
  8.  * 这个类其实就是对一个字节数组进行操作,把这个字节数组看成一个缓冲区 
  9.  * 关闭方法是一个空方法,关闭后不影响其他方法 
  10.  * 可以将数组定位到指定位置开始读/写,可以将数组从头开始读/写,可以查看数组还有几个字节可用 
  11.  * 可以在某个位置做标记,可以返回到标记位置进行读/写 
  12.  */  
  13. public class ByteArrayInputStreamDemo {  
  14.     public static void main(String[] args) {  
  15.         // 输入流缓冲区(假设已经有若干字节)  
  16.         byte[] inputBuff = new byte[] { 123'a''b''c''d''e''f' };  
  17.         byte[] result = new byte[20];  
  18.         ByteArrayInputStream inputStream = new ByteArrayInputStream(inputBuff);  
  19.         // 将缓冲区的字节读入result数组并输出result  
  20.         inputStream.read(result, 020);  
  21.         System.out.println(Arrays.toString(result));  
  22.         // 将result数组写入输出流  
  23.         ByteArrayOutputStream outStream = new ByteArrayOutputStream();  
  24.         outStream.write(result, 020);  
  25.         System.out.println(Arrays.toString(outStream.toByteArray()));  
  26.     }  
  27.   
  28. }  
  29. </span>  


 

  1. <span style="font-size:16px;">package test;  
  2.   
  3. import java.io.File;  
  4. import java.io.FileInputStream;  
  5. import java.io.FileNotFoundException;  
  6. import java.io.FileOutputStream;  
  7. import java.io.IOException;  
  8.   
  9. /* 
  10.  * FileInputStream从文件中产生输入流,FileOutputStream 
  11.  * 把输出流输出到文件。读/写、打开和关闭都是调用本地方法 
  12.  */  
  13. public class FileInputStreamDemo {  
  14.     public static void main(String[] args) throws IOException {  
  15.         FileInputStream inputStream = null;  
  16.         try {  
  17.             inputStream = new FileInputStream(new File("file/bb.dat"));  
  18.         } catch (FileNotFoundException e) {  
  19.             e.printStackTrace();  
  20.         }  
  21.         // 读到一个字节数组  
  22.         byte[] result = new byte[500];  
  23.         // int b;  
  24.         // while ((b = inputStream.read()) != -1)//读一个字节  
  25.         // System.out.print((char) b);  
  26.         inputStream.read(result);  
  27.         // System.out.println(Arrays.toString(result));  
  28.         inputStream.close();  
  29.         FileOutputStream outputStream = null;  
  30.         // true表示以追加的形式打开  
  31.         outputStream = new FileOutputStream("file/bb.dat"true);  
  32.         // 写入  
  33.         outputStream.write((int'A');  
  34.         outputStream.write(result);  
  35.         outputStream.close();  
  36.     }  
  37. }  
  38. </span>  
posted @ 2012-01-19 15:52  王爵的技术博客  阅读(625)  评论(0)    收藏  举报

我的技术博客:https://biezhi.me

Github:https://github.com/biezhi 

微博:http://weibo.com/u/5238733773

Twitter:https://twitter.com/biezhii