日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java的io类的使用场景

發(fā)布時(shí)間:2024/2/28 java 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java的io类的使用场景 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

先附上io圖:

InputStream類

  • ByteArrayInputStream – 把內(nèi)存中的一個(gè)緩沖區(qū)作為 InputStream 使用,CPU從緩存區(qū)讀取數(shù)據(jù)比從存儲(chǔ)介質(zhì)的速率快10倍以上。

  • StringBufferInputStream – 把一個(gè) String 對(duì)象作為。InputStream。不建議使用,在轉(zhuǎn)換字符的問題上有缺陷。

  • FileInputStream – 把一個(gè)文件作為 InputStream ,實(shí)現(xiàn)對(duì)文件的讀取操作。

  • PipedInputStream :實(shí)現(xiàn)了 pipe 的概念,主要在線程中使用 . 管道輸入流是指一個(gè)通訊管道的接收端。
    一個(gè)線程通過管道輸出流發(fā)送數(shù)據(jù),而另一個(gè)線程通過管道輸入流讀取數(shù)據(jù),這樣可實(shí)現(xiàn)兩個(gè)線程間的通訊。

  • SequenceInputStream :把多個(gè) InputStream 合并為一個(gè) InputStream . “序列輸入流”類允許應(yīng)用程序把幾個(gè)輸入流連續(xù)地合并起來。

  • DataInputStream讀各種基本類型數(shù)據(jù),如byte、int、String的功能。

  • ObjectInputStream讀對(duì)象的功能。

  • PushBackInputStream 如果在輸入流中某個(gè)不需要的內(nèi)容被讀取進(jìn)來,則只能通過程序?qū)⑦@些不需要的內(nèi)容處理掉,為了解決這樣的處理問題,在JAVA中提供了一種回退輸入流(PushbackInputStream、PushbackReader),可以把讀取進(jìn)來的某些數(shù)據(jù)重新回退到輸入流的緩沖區(qū)之中。

這是InputStream的子類的常用應(yīng)用場(chǎng)景,只要需要哪一個(gè)包裝類,直接把它包裝起來就可以啦。
其他io看名字就知道怎么用啦,最后再強(qiáng)調(diào)一下存儲(chǔ)字符流的過程。
1. 輸出字符流:把要寫入文件的字符序列(實(shí)際上是Unicode碼元序列)轉(zhuǎn)為指定編碼方式下的字節(jié)序列,然后再寫入到文件中;
2. 輸入字符流:把要讀取的字節(jié)序列按指定編碼方式解碼為相應(yīng)字符序列(實(shí)際上是Unicode碼元序列從)從而可以存在內(nèi)存中。

比如向文件輸入字符“demo”
d對(duì)應(yīng)的Unicode編碼是\u0064
e對(duì)應(yīng)的Unicode編碼是\u0065
…..
于是把demo根據(jù)系統(tǒng)默認(rèn)編碼,把demo轉(zhuǎn)換成字節(jié)編碼 64 65 6d 6f
然后儲(chǔ)存在文件中。

輸入類似。

總結(jié)

以上是生活随笔為你收集整理的Java的io类的使用场景的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。