Java IO 概述

IO

大多數的應用程序都要與外部設備進行數據交換,最多見的外部設備包含磁盤和網絡。IO就是指應用程序對這些設備的數據輸入與輸出,Java語言定義了許多類專門負責各類方式的輸入、輸出,這些類都被放在java.io包中。html

文件的描述

1、File類

File類是IO包中惟一表明磁盤文件自己的對象,File類定義了一些與平臺無關的方法來操做文件。經過調用File類提供的各類方法,可以完成建立、刪除文件、重命名文件、判斷文件的讀寫權限權限是否存在、設置和查詢文件的最近修改時間等操做。java

2、RandomAccessFile

RandomAccessFile類能夠說是Java語言中功能最爲豐富的文件訪問類,它提供了衆多的文件訪問方法。RandomAccessFile類支持"隨機訪問"方式,能夠跳轉到文件的任意位置處讀寫數據。要訪問一個文件的時候,不想把文件從頭讀到尾,而是但願像訪問一個數據庫同樣地訪問一個文本文件,使用RandomAccessFile類是最佳選擇。數據庫

RandomAccessFile對象類中有個位置指示器,指向當前讀寫處的位置,當讀寫n個字節後,文件指示器將指向這n個字節後的下一個字節處。剛打開文件時,文件指示器指向文件的開頭處,能夠移動文件指示器到新的位置,隨後的讀寫將重新的位置開始。緩存

RandomAccessFile類在文件隨機(相對於順序)讀取時有很大的優點,但該類僅限於操做文件,不能訪問其餘得IO設備,如網絡、內存映像等。網絡

輸入/輸出

1、字節輸入流

輸入圖片說明

2、字節輸出流

輸入圖片說明

3、字符輸入流

輸入圖片說明

4、字符輸出流

輸入圖片說明

總結一下流類的使用

一、File是一些文件/文件夾操做的源頭,File表明的就是文件/文件夾自己,所以不管如何,使用IO的第一步是建議開發者根據路徑實例化出一個Filedom

二、考慮使用字符流仍是字節流。操做文本通常使用字符流,即Reader和Writer;操做字節文件使用字節流,即InputStream和OutputStream函數

三、選擇使用輸入流仍是輸出流。把內容從文件讀入Java內存使用輸入流,即Reader和InputStream;把內容從Java內存讀到文件使用輸出流,即Writer和OutputStream編碼

四、使用字符流使用BufferedReader和BufferedWriter,它們的構造函數中的參數分別是Reader和Writer,所以既能夠實例化出FileReader和FileWriter,也能夠實例化出InputStreamReader和OutputStreamWriter,做爲構造函數的參數傳入BufferedReader和BufferedWriter3d

五、FileInputStream和FileOutputStream能夠直接操做文件的讀寫,它們沒有作緩存htm

六、ObjectOutputStream和ObjectInputStream,它們分別以OutputStream和InputStream做爲構造函數的參數,所以能夠實例化出FileOutputStream和FileInputStream並傳入

連接

Java IO

Java IO4:字符編碼

相關文章
相關標籤/搜索