大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java輸入輸出流

Java輸入輸出流

更新時間:2022-09-02 11:33:47 來源:動力節點 瀏覽1323次

java I/O流

Java基礎教程中大家會學到IO流,大家也都知道,在java中所有數據都是使用流讀寫的。流是一組有序的數據序列,將數據從一個地方帶到另一個地方。根據數據流向的不同,可以分為輸入(Input)流和輸出(Output)流兩種。

為什么要使用輸入輸出流

例如,我們平時用的 Office 軟件,對于 Word、Excel 和 PPT 文件,我們需要打開文件并讀取這些文本,和編輯輸入一些文本,這都需要利用輸入和輸出的功能。在現實生活中,輸入和輸出的例子比比皆是。

什么是I/O流

/O流概念:輸入就是將數據從各種輸入設備(包括文件、鍵盤等)中讀取到內存中,輸出則正好相反,是將數據寫入到各種輸出設備(比如文件、顯示器、磁盤等)。例如鍵盤就是一個標準的輸入設備,而顯示器就是一個標準的輸出設備,但是文件既可以作為輸入設備,又可以作為輸出設備。

數據流是java進行I/O操作的對象,

數據流按照不同標準的分類:

按照流的方向主要分為輸入流和輸出流兩大類。

數據流按照數據單位的不同分為字節流和字符流。

按照功能可以劃分為節點流和處理流。

數據流的處理只能按照數據序列的順序來進行,即前一個數據處理完之后才能處理后一個數據。數據流以輸入流的形式被程序獲取,再以輸出流的形式將數據輸出到其它設備

輸入流模式:

輸出流模式:

輸入流

Java 流相關的類都封裝在 java.io 包中,而且每個數據流都是一個對象。所有輸入流類都是 InputStream 抽象類(字節輸入流)和 Reader 抽象類(字符輸入流)的子類。其中 InputStream 類是字節輸入流的抽象類,是所有字節輸入流的父類,其層次結構如下圖所示

InputStream 類中所有方法遇到錯誤時都會引發 IOException 異常。所以使用時要拋出異常;

InputStream類常用方法

名稱 作用
int read() 從輸入流讀入一個 8 字節的數據,將它轉換成一個 0~ 255 的整數,返回一個整數,如果遇到輸入流的結尾返回 -1
int read(byte[] b) 從輸入流讀取若干字節的數據保存到參數 b 指定的字節數組中,返回的字節數表示讀取的字節數,如果遇到輸入流的結尾返回 -1
int read(byte[] b,int off,int len) 從輸入流讀取若干字節的數據保存到參數 b 指定的字節數組中,其中 off 是指在數組中開始保存數據位置的起始下標,len 是指讀取字節的位數。返回的是實際讀取的字節數,如果遇到輸入流的結尾則返回 -1
void close() 關閉數據流,當完成對數據流的操作之后需要關閉數據流
int available() 返回可以從數據源讀取的數據流的位數。
skip(long n) 從輸入流跳過參數 n 指定的字節數目
boolean markSupported() 判斷輸入流是否可以重復讀取,如果可以就返回 true
void mark(int readLimit) 如果輸入流可以被重復讀取,從流的當前位置開始設置標記,readLimit 指定可以設置標記的字節數
void reset() 使輸入流重新定位到剛才被標記的位置,這樣可以重新讀取標記過的數據

上述最后 3 個方法一般會結合在一起使用,首先使用 markSupported() 判斷,如果可以重復讀取,則使用 mark(int readLimit) 方法進行標記,標記完成之后可以使用 read() 方法讀取標記范圍內的字節數,最后使用 reset() 方法使輸入流重新定位到標記的位置,繼而完成重復讀取操作。

輸出流

在 Java 中所有輸出流類都是 OutputStream 抽象類(字節輸出流)和 Writer 抽象類(字符輸出流)的子類。其中 OutputStream 類是字節輸出流的抽象類,是所有字節輸出流的父類,其層次結構如下圖所示

OutputStream 類是所有字節輸出流的超類,用于以二進制的形式將數據寫入目標設備,該類是Java抽象類,不能被實例化。OutputStream 類提供了一系列跟數據輸出有關的方法,如下所示。

名稱 作用
int write(b) 將指定字節的數據寫入到輸出流
int write (byte[] b) 將指定字節數組的內容寫入輸出流
int write (byte[] b,int off,int len) 將指定字節數組從 off 位置開始的 len 字節的內容寫入輸出流
close() 關閉數據流,當完成對數據流的操作之后需要關閉數據流
flush() 刷新輸出流,強行將緩沖區的內容寫入輸出流

 

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 午夜日韩视频 | 亚洲qingse中文字幕久久 | 久久精品免费观看久久 | 国产一区日韩二区欧美三 | 久久综合欧美成人 | 国产欧美自拍 | 狠狠狠狠狠狠 | 欧美亚洲国产精品久久 | 亚洲国产www | 久热草在线 | 亚洲综合色视频 | 日本久久久久一级毛片 | 久久精品一 | 亚洲精品视频久久久 | 久久精品久久精品国产大片 | 免费一级欧美大片在线观看 | 国产午夜精品一区二区三区嫩草 | 色综合伊人色综合网亚洲欧洲 | 国产精品伦一区二区三级视频 | 欧美毛片一级 | 狠狠躁夜夜躁人人爽天天miya | 国产精品一区二区四区 | 国产一区二区精品久久凹凸 | 久久美剧| 亚洲免费播放 | 综合另类 | 免费网站日本永久免费观看 | 国产不卡在线观看 | 99久久精品国产自免费 | 大乳女做爰中文字幕 | 久久这里只有精品视频99 | 欧美精品毛片 | 国产视频在线观看福利 | 欧美激情中文字幕一区二区 | 夜夜夜夜猛噜噜噜噜噜 | 国产欧美日韩综合二区三区 | 日韩一区二区超清视频 | 久久综合给会久久狠狠狠 | 欧美日韩成人高清色视频 | 999久久66久6只有精品 | 亚洲综合一区二区三区 |