1. 程式人生 > >JAVA I/O流的分類

JAVA I/O流的分類

Java中 對檔案的操作是以流的方式進行的。流是Java記憶體中的一組有序資料序列。Java將資料從源(檔案、記憶體、鍵盤、網路)讀入到記憶體中,形成了流,然後將 這些流還可以寫到另外的目的地(檔案、記憶體、控制檯、網路),之所以稱為流,是因為這個資料序列在不同時刻所操作的是源的不同部分。

  二、分類

  流的分類,Java的流分類比較豐富,剛接觸的人看了後會感覺很暈。流分類的方式很多:

  1、按照輸入的方向分,輸入流和輸出流,輸入輸出的參照物件是Java程式。

  2、按照處理資料的單位不同分,位元組流和字元流,位元組流讀取的最小單位是一個位元組(1byte=8bit),而字元流一次可以讀取一個字元(1char = 2byte = 16bit)。

  3、按照功能的不同分,分節點流和處理流,節點流是直接從一個源讀寫資料的流(這個流沒有經過包裝和修飾),處理流是在對節點流封裝的基礎上的 一種流,FileInputStream是一個節點流,可以直接從檔案讀取資料,但是BufferedInputStream可以包裝 FileInputStream,使得其有緩衝功能。

  其實除了以上三種分類外,還有一些常常聽到的一些分類比如:物件流、緩衝流、壓縮流、檔案流等等。其實都是節點流和處理流的子分類。當然你也可以建立新的流型別,只要你需要。

  三、流分類的關係

  不管流的分類是多麼的豐富和複雜,其根源來自於四個基本的類。這個四個類的關係如下:

  位元組流  字元流

  輸入流  InputStream  Reader

  輸出流  OutputStream  Writer

  <!-- EndFragment-->

  四、位元組流和字元流的相互轉換

  1、從位元組流到字元流:InputStreamReader、OutputStreamWriter類可以實現。

  2、從字元流到位元組流:可以從字元流中獲取char[]陣列,轉換為String,然後呼叫String的API函式getBytes() 獲取到byte[],然後就可以通過ByteArrayInputStream、ByteArrayOutputStream來實現到位元組流的轉換。

  以上知識是學習Java流的根基,對流的操作非常的容易,

Java API中提供了豐富的流處理類,API也大差不差,看看文件即可上手。

相關推薦

JAVA I/O分類

Java中 對檔案的操作是以流的方式進行的。流是Java記憶體中的一組有序資料序列。Java將資料從源(檔案、記憶體、鍵盤、網路)讀入到記憶體中,形成了流,然後將 這些流還可以寫到另外的目的地(檔案、記憶體、控制檯、網路),之所以稱為流,是因為這個資料序列在不同時刻所操作的是源的不同部分。   二、分類  流

Java I/O的總結

註意 size 標記接口 ble ansi 寫入 就會 另一個 span I/O的類結構圖 I/O的分類 根據處理的數據類型分為:字節流和字符流。 根據數據流向分為:輸入流和輸出流。 流又可分為節點流和處理流。 節點流 直接與數據源相連 處理流 與節點流一

java I/O詳解

practice bubuko put bre 技術分享 writer 多媒體 buffered args 概況 I/O流主要分為二大類別:字符流和字節流。 字節流(基本流) 1、字節輸入流 類名:FileInputStream 特點:讀(對文件進行讀取操作)

java I/O 溫習隨筆

就是 電腦 實現類 掌握 直接 一個 簡單 txt文本 stream java I/O流的熟練掌握是十分重要的。 在我的理解中,I/O流可以分為兩種:字符流、字節流。字符流就是可以用來傳輸字符的流,比如傳輸txt文本,簡單的說,只有能被電腦中的記事本直接打開並且你能看懂的文

JAVA-I/O任務

讀取 www. acc dst 學生 基本 方式 htm 特性 作業地址 5. Scanner基本概念組裝對象 編寫public static List 答:要使用到的類有File類,FileInputStream類,InputStreamReader類,Buffere

Java I/O 的幾種典型用法

一.緩衝輸入檔案 public class BufferedReaderFile { public static String read (String filePath){

Java I/O知識綜合實戰

範例:import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOExcep

[讀書]java I/O的介紹

英文不好,拿來做閱讀練習。。。。一步一步,有些地方可能表達有問題,見諒。 Overview of I/O Streams i/o流的概述 To bring in information, a program opens a stream on an information

Java I/O操作(二)緩衝

IO的緩衝區的存在就是為了提高效率,把要操作的資料放進緩衝區,然後一次性把緩衝區的內容寫到目的地,而不是寫一次就往目的地寫一次.在這裡要注意的是當我們關閉了緩衝區物件實際也關閉了與緩衝區關聯的流物件.BufferWriter類FileWriter fw =null;try{f

Java I/O複習(二)—字元、字元緩衝、以及和位元組的區別

Java I/O流複習(二) 1 字元輸入流 字元流(Java IO的Reader和Writer)功能與InputStream和OutputStream非常類似,InputStream和OutputStream基於位元組處理,而字元流(Reader和Writ

面試必備:詳解Java I/O,掌握這些就可以說精通了?

@TOC Java IO概述 IO就是輸入/輸出。Java IO類庫基於抽象基礎類InputStream和OutputStream構建了一套I/O體系,主要解決從資料來源讀入資料和將資料寫入到目的地問題。我們把資料來源和目的地可以理解為IO流的兩端。當然,通常情況下,這兩端可能是檔案或者網路連線。 我們用下面

Java I/O 複製檔案速度對比

### Java I/O流 複製檔案速度對比 ![截圖2020-09-13 18.41.21](https://tva1.sinaimg.cn/large/007S8ZIlgy1giq2vvgv1vj310u0m6aeb.jpg) 首先來說明如何使用Java的IO流實現檔案的複製: 第一步肯定是要*

Java I/O總結(二)——分類

    輸入流 讀(Reader|InputStream) 方向     輸出流 寫(Writer|OutputStream)     位元組流(Stream) 處理單位      字元流(Reader|Writer)         緩衝流(Buffered) 是否帶有

深入理解JAVA I/O系列三:字符詳解

buffer 情況 二進制文件 感到 復制代碼 使用範圍 轉換 fileread 方式 字符流為何存在 既然字節流提供了能夠處理任何類型的輸入/輸出操作的功能,那為什麽還要存在字符流呢?容我慢慢道來,字節流不能直接操作Unicode字符,因為一個字符有兩個字節,字節流一次只

Java I/O---Reader & Writer(字符)

dap alt per 讀取數據 ioe != can 創建 兩個類 1.Reader & Writer 當我們初次看見Reader和Writer類時,可能會以為這是兩個用來替代InputStream和OutputStreamt的類,但實際上並非如此。

JAVA-初步認識-I/O(字節流-FileWriter-異常處理)

span 指針 出現 ima bsp file 字節 創建 出現異常 一. 通用換行的知識點是在哪兒介紹的?新建了FileWriter就有異常。 將拋出異常語句去掉後,後面幾句話都會出現異常。 紅色波浪線全部出現就是有異常。 文件找不到異常可以理解,為什麽還有

JAVA-初步認識-I/O(字節流-FileReader-讀取方式1)

結果 奇怪 字節 進行 read file -s 聯想 子類 一. 寫完之後,要進行讀取。現在講解的對象從FileWriter變為了FileReader,從輸出為了輸入。 對於IO流的講解,始終是圍繞著字符流來的,立足點也是字符流中的兩個具體的子類對象。 Reader對象的

JAVA-初步認識-I/O(字符-緩沖區-解釋)

bsp 內部 inf .com 分享 png 緩沖區 com gpo 一. 說完了字符流操作文件的基本對象應用以外, 我以為緩沖區是流對象自己內部,而不是中轉站buf。 這裏就是介紹一下緩沖區,作為一個中轉的地方。緩沖區更為深入的用法,還不會,理解還不夠。JAVA-初步

JAVA-初步認識-I/O(字符-緩沖區-BufferWriter)

講解 技術分享 字符 alt spa 技術 span 分類 為什麽 一. 對於緩沖區,也進行了分類,緩沖讀和緩沖寫。現在講解緩沖寫。 為什麽會有BufferWriter這樣的對象存在,就是將之前的ch,buf之類的東西和流對象結合起來,使它們成為一個整體。 將緩沖的功能融

JAVA-初步認識-I/O(字符-緩沖區-BufferedReader-ReadLine方法原理)

操作 nbsp 分享 硬盤 image ade mage 認識 adl 一. 如果按照之前的說法,緩沖區就是數組的話,那麽寫bufr.read(buf)就不能理解。這句話只能看成bufr這個緩沖區對象,采用read方法,將數據讀到buf中,而不是緩沖區對象bufr讀取