程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 深入理解Java中的IO

深入理解Java中的IO

編輯:JAVA綜合教程

深入理解Java中的IO


  引言:
  對程序語言的設計者來說,創建一個好的輸入/輸出(I/O)系統是一項艱難的任務 < Thinking in Java >
  本文的目錄視圖如下:
  Java IO概要
  a.Java IO中常用的類
  b.Java流類的類結構圖
  1.流的概念和作用
  2.Java IO所采用的模型 :
  3.IO流的分類
  4.Java IO流對象
  1.輸入字節流InputStream
  2.輸出字節流OutputStream
  3.字符輸入流Reader
  4.字符輸出流Writer
  5.字符流的輸入與輸出的對應
  6.字符流與字節流轉換
  7.字節流和字符流的區別
  8.File類
  9.RandomAccessFile類


Java IO概要

為了方便理解與闡述,先引入兩張圖:

a、Java IO中常用的類

\

在整個Java.io包中最重要的就是5個類和一個接口。5個類指的是File、OutputStream、InputStream、Writer、Reader;一個接口指的是Serializable.掌握了這些IO的核心操作那麼對於Java中的IO體系也就有了一個初步的認識了

 

Java I/O主要包括如下幾個層次,包含三個部分:

1.流式部分――IO的主體部分;

2.非流式部分――主要包含一些輔助流式部分的類,如:File類、RandomAccessFile類和FileDescriptor等類;

3.其他類--文件讀取部分的與安全相關的類,如:SerializablePermission類,以及與本地操作系統相關的文件系統的類,如:FileSystem類和Win32FileSystem類和WinNTFileSystem類。

 

主要的類如下:

1. File(文件特征與管理):用於文件或者目錄的描述信息,例如生成新目錄,修改文件名,刪除文件,判斷文件所在路徑等。

2. InputStream(二進制格式操作):抽象類,基於字節的輸入操作,是所有輸入流的父類。定義了所有輸入流都具有的共同特征。

3. OutputStream(二進制格式操作):抽象類。基於字節的輸出操作。是所有輸出流的父類。定義了所有輸出流都具有的共同特征。

4.Reader(文件格式操作):抽象類,基於字符的輸入操作。

5. Writer(文件格式操作):抽象類,基於字符的輸出操作。

6. RandomAccessFile(隨機文件操作):一個獨立的類,直接繼承至Object.它的功能豐富,可以從文件的任意位置進行存取(輸入輸出)操作

 

Java中IO流的體系結構如圖:

\

 

b、Java流類的類結構圖:

\

1、流的概念和作用

流:代表任何有能力產出數據的數據源對象或者是有能力接受數據的接收端對象

流的本質:數據傳輸,根據數據傳輸特性將流抽象為各種類,方便更直觀的進行數據操作。

流的作用:為數據源和目的地建立一個輸送通道。

 

Java中將輸入輸出抽象稱為流,就好像水管,將兩個容器連接起來。流是一組有順序的,有起點和終點的字節集合,是對數據傳輸的總稱或抽象。即數據在兩設備間的傳輸稱為流.

 

2、Java IO所采用的模型


Java的IO模型設計非常優秀,它使用Decorator(裝飾者)模式,按功能劃分Stream,您可以動態裝配這些Stream,以便獲得您需要的功能。

例如,您需要一個具有緩沖的文件輸入流,則應當組合使用FileInputStream和BufferedInputStream。

 

3、IO流的分類

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved