流的分類:
按流向:輸入流,輸出流
按數據單位:
字節流(一次讀入或讀出是8位二進制,即一個字節)
字符流(一次讀入或讀出是16位二進制,即一個字符)
按處理類型:
節點流(直接與數據源相連,讀入或讀出)
處理流(與節點流一塊使用,在節點流的基礎上,再套接一層,套接在節點流上的就是處理流)
對文件進行操作:
FileInputStream:字節輸入流
FileOutputStream:字節輸出流
FileReader:字符輸入流
FileWriter:字符輸出流
對管道進行操作:
PipedInputStream、PipedOutputStream(主要用於線程操作)
PipedReader、PipedWriter
字節/字符數組:
ByteArrayInputStream、ByteArrayOutputStream(在內存中開辟了一個字節數組)
CharArrayReader、CharArrayWriter(在內存中開辟了一個字符數組)
Buffer緩沖流(避免每次直接讀取硬盤):
BufferedInputStream、BufferedOutputStream
BufferedReader、BufferedWriter
轉化流:InputStreamReader、OutputStreamWriter
數據流:DataInputStream、DataOutputStream(數據流可以直接輸出float類型或long類型,提高了數據讀寫的效率)
打印流:printStream,printWriter(一般是打印到控制台,可以進行控制打印的地方)
對象流:ObjectInputStream、ObjectOutputStream(把封裝的對象直接輸出,而不是一個個再轉換成字符串再輸出)
序列化流:SequenceInputStream(把對象直接轉換成二進制,寫入介質中)
原文鏈接:http://blog.csdn.net/llhhyy1989/article/details/7388059