溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java流與IO流有什么不同

發(fā)布時間:2022-01-06 15:53:09 來源:億速云 閱讀:156 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“java流與IO流有什么不同”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

  流(Stream)

  流代表著任何有能力產(chǎn)出數(shù)據(jù)的源或者也能力接收數(shù)據(jù)的源對象,作用是為了將數(shù)據(jù)源跟目的地建立一個輸送的通道。

  流中比較重要的就是IO流了。下面我們先講一講IO流

  IO流根據(jù)方向分為輸入流與輸出流,這個很好理解,輸入進來的叫輸入流,反之,向外輸出的,叫輸出流。

  根據(jù)形式:分為字符流,和字節(jié)流。這個也不難,字節(jié)流是基本就是無法用字符表示的,圖片、視頻、音頻等,而字符流,一般可以用字符表示的,txt,xlsx,java,html等。

根據(jù)功能不同,可分為:節(jié)點流,處理流。節(jié)點流是直接操作文件,處理流是連接已經(jīng)存在的流。

  下圖是IO流的四大流:

java流與IO流有什么不同

  四大流都是抽象類,不能直接創(chuàng)建對象,需要去new一個他的實現(xiàn)類。本文講解的一般都是概念性的內(nèi)容,如果有需要具體代碼的親們,可以留言找我,下面我會放一些經(jīng)常會問的關(guān)于IO流的初級面試題(高級的后續(xù)我會寫)

1.流按照實現(xiàn)功能分為哪兩種,分別舉例說明:

答:節(jié)點流,處理流

節(jié)點流:OutputStream

處理流:OutputStreamWriter

2.BufferedReader屬于哪種流,它主要是用來做什么的,它里面有那些經(jīng)典的方法

答:屬于處理流中的緩沖流,可以將讀取的內(nèi)容存在內(nèi)存里面,有readLine()方法。

3.如果我要對字節(jié)流進行大量的從硬盤讀取,要用那個流,為什么?

答:BufferedInputStream 使用緩沖流能夠減少對硬盤的損傷.

4.如果我要打印出不同類型的數(shù)據(jù)到數(shù)據(jù)源,那么最適合的流是那個流,為什么?

答:Printwriter 可以打印各種數(shù)據(jù)類型.

5.把一個對象寫入數(shù)據(jù)源或者從一個數(shù)據(jù)源讀出來,用哪兩個流?

答:ObjectInputStream ObjectOutputStream.

6.流一般需要不需要關(guān)閉,如果關(guān)閉的話在用什么方法,一般要在那個代碼塊里面關(guān)閉比較好,處理流是怎么關(guān)閉的,如果有多個流互相調(diào)用傳入是怎么關(guān)閉的?

答:流一旦打開就必須關(guān)閉,使用close方法,放入finally語句塊(finally 語句一定會執(zhí)行),調(diào)用的處理流就關(guān)閉處理流,多個流互相調(diào)用只關(guān)閉最外層的流.

7.Java中的所有的流可以分為幾大類,它們的名字是什么,各代表什么?

答:字節(jié)輸入流 InputStream

字節(jié)輸出流 OutputStream

字符輸入流 Reader

字符輸出流 Writer

8.用什么把對象動態(tài)的寫入磁盤中,寫入要實現(xiàn)什么接口。

答:ObjectInputStream,需要實現(xiàn)Serializable接口。

“java流與IO流有什么不同”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI