黑馬程序員-IO流

----------- android培訓java培訓、java學習型技術博客、期待與您交流! ------------

這幾天在學IO流,今天在這裏做一個總結

四個基類流對象

 輸入流:InputStream Reader             //都是抽象類,本身不能創建實例

   |------->FileInputStream FileReader //用與讀取文件的輸入流,執行輸入

 FileInputStream fis=new FileInputStream("FileInputStreamTest.java");//創建字節輸入流,讀取的文件是FileInputStreamTest.java
  byte[] bbuf=new byte[1024];             //創建一個長度爲1024的"竹筒",相當於緩存區
  int hasRead=0;                           //用於保存實際讀取得字節數
  while((hasRead=fis.read(bbuf))!=-1)      //重複"取水"過程,讀到文件尾爲-1
  {
     System.out.println(new String(bbuf,0,hasRead));//取出"竹筒"中的水滴(字節),將字節數組轉換成字符串輸出
  } 
  fis.close();       

 

  FileReader fr=new FileReader("FileReaderTest.java");//創建字節輸入流,讀取的文件是FileInputStreamTest.java
  char[] cbuf=new char[1024];             //創建一個長度爲1024的"竹筒",相當於緩存區
  ......

 

 輸出流:OutputStream Writer

   |------->FileOutputStream FileWriter //用與寫入到文件的輸出流,執行輸出

 FileInputStream fis=new FileInputStream("FileInputStreamTest.java");//創建字節輸入流,讀取的文件是FileInputStreamTest.java
  FileOutputStream fis=new FileOutputStream("FileInputStreamTest_Copy.txt");//創建字節輸出流,寫入到的文件是FileInputStreamTest_Copy.txt
  byte[] bbuf=new byte[1024];             //創建一個長度爲1024的"竹筒",相當於緩存區
  int hasRead=0;                           //用於保存實際讀取得字節數
  while((hasRead=fis.read(bbuf))!=-1)      //重複"取水"過程,讀到文件尾爲-1
  {
     fos.write(bbuf,0,hasRead);         //每讀取一次,即寫入文件輸出流
  } 
  fis.close();                             //關閉流資源

 

 字節流:InputStream OutputStream       //操作的最小數據單位是8位的字節

 字符流:Reader      Writer             //操作的最小數據單位是16位的字符

 

我們發現其實IO流是很有規律:

現在付上一個表,將基本的IO流對象列出來:

 

分類

字節輸入流

字節輸出流

字符輸入流

字符輸出流

抽象基類

InputStream

OutputStream

Reader

Writer

訪問文件

FileInputStream

FileOutputStream

FileReader

FileWriter

訪問數組

ByteArrayInputStream

ByteArrayOutputStream

CharArrayReader

CharArrayWriter

訪問管道

PipedInputStream

PipedOutputStream

PipedReader

PipedWriter

訪問字符串

 

 

StringReader

StringWriter

緩衝流

BufferedInputStream

BufferedOutputputStream

BufferedReader

BufferedWriter

轉換流

 

 

InputStreamReader

OutputStreamWriter

對象流

ObjectInputStream

ObjectOutputStream

 

 

抽象基類

FilterInputStream

FilterOutputStream

FilterReader

FilterWriter

打印流

 

PrintStream

 

PrintWriter

推回輸入流

PushbackInputStream

 

PushbackReader

 

特殊流

DataInputStream

DataOutputStream

 

 

 ----------- android培訓java培訓、java學習型技術博客、期待與您交流! ------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章