1. 程式人生 > >文本IO 二進制IO

文本IO 二進制IO

cto 輸出 進制數 都是 style margin gin 讀取數據 str

一、文本IO

  1. 使用PrintWriter寫入文件後,必須調用close(),否則數據不能正確保存在文件中。
  2. Scanner的next()讀取一個由分隔符分隔的字符串,nextLine()讀取以換行符結束的行。
  3. 標記讀取不會讀取分隔符,所以nextLine()會把所有標記也算作一個標記進行讀取。
  4. useDelimiter(String s)可以改變分隔符,默認是空格。
  5. 從URL讀取數據,創建URL對象,調用url.openStream(),就可以用Scanner讀取url.openStream()中的數據了。

二、二進制IO

1. 文本文件是由字符序列構成的,二進制文件有bit序列構成,不涉及編碼、解碼,效率高。在計算機中,本質上,所有的文件都是二進制文件。文本IO建立在二進制IO上,提供了一層抽象,用於字符層次編碼,解碼。

2.1)FileInputStream、FileOutputStream為基本輸入輸出,只能用來讀取字節,即最基本的讀取二進制數據。

2)DataInputStream、DataOutputStream讀取寫入字節,將他們轉換為合適的基本類型或字符串。

3)java中字符用統一碼表示,一個統一碼由2個字節構成。

4)ObjectInputStream、ObjectOutputStream讀取寫入對象,包含了DataInputStream、DataOutputStream的所有功能。對象需要實現Serializable接口才可以被寫入,即可序列化的,對象中存在不能被序列化的對象時,不可以被序列化,需要在不能被序列化的對象成員前加transient關鍵字,靜態變量不會被序列化。

3.RandomAccessFile,隨機訪問文件。

文本IO 二進制IO