成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java I/O流概念分析整理

開發(fā) 后端
Java中的流,可以從不同的角度進(jìn)行分類。 按照數(shù):輸入流和輸出流。按照處理數(shù)據(jù)單位不同可以分為:字節(jié)流和字符流。按照實(shí)現(xiàn)功能不同可以分為:節(jié)點(diǎn)流和處理流。

Java中的流,可以從不同的角度進(jìn)行分類。

  • 按照數(shù):輸入流和輸出流。
  • 按照處理數(shù)據(jù)單位不同可以分為:字節(jié)流和字符流。
  • 按照實(shí)現(xiàn)功能不同可以分為:節(jié)點(diǎn)流和處理流。

輸出流:

 

 

輸入流:

因此輸入和輸出都是從程序的角度來說的。

字節(jié)流:一次讀入或讀出是8位二進(jìn)制。

字符流:一次讀入或讀出是16位二進(jìn)制。

字節(jié)流和字符流的原理是相同的,只不過處理的單位不同而已。后綴是Stream是字節(jié)流,而后綴是Reader,Writer是字符流。

節(jié)點(diǎn)流:直接與數(shù)據(jù)源相連,讀入或讀出。

 

直接使用節(jié)點(diǎn)流,讀寫不方便,為了更快的讀寫文件,才有了處理流。

處理流:與節(jié)點(diǎn)流一塊使用,在節(jié)點(diǎn)流的基礎(chǔ)上,再套接一層,套接在節(jié)點(diǎn)流上的就是處理流。

 

Jdk提供的流繼承了四大類:InputStream(字節(jié)輸入流),OutputStream(字節(jié)輸出流),Reader(字符輸入流),Writer(字符輸出流)。

以下是java中io中常用的流。

 

字節(jié)輸入流:

字節(jié)輸出流:

字符輸入流:

字符輸出流:

簡單介紹其上圖:

對文件進(jìn)行操作:FileInputStream(字節(jié)輸入流),F(xiàn)ileOutputStream(字節(jié)輸出流),F(xiàn)ileReader(字符輸入流),F(xiàn)ileWriter(字符輸出流)

對管道進(jìn)行操作:PipedInputStream(字節(jié)輸入流),PipedOutStream(字節(jié)輸出流),PipedReader(字符輸入流),PipedWriter(字符輸出流)

PipedInputStream的一個(gè)實(shí)例要和PipedOutputStream的一個(gè)實(shí)例共同使用,共同完成管道的讀取寫入操作。主要用于線程操作。

字節(jié)/字符數(shù)組:ByteArrayInputStream,ByteArrayOutputStream,CharArrayReader,CharArrayWriter是在內(nèi)存中開辟了一個(gè)字節(jié)或字符數(shù)組。

Buffered緩沖流::BufferedInputStream,BufferedOutputStream,BufferedReader,BufferedWriter,是帶緩沖區(qū)的處理流,緩沖區(qū)的作用的主要目的是:避免每次和硬盤打交道,提高數(shù)據(jù)訪問的效率。

  • 轉(zhuǎn)化流:InputStreamReader/OutputStreamWriter,把字節(jié)轉(zhuǎn)化成字符。
  • 數(shù)據(jù)流:DataInputStream,DataOutputStream。

因?yàn)槠綍r(shí)若是我們輸出一個(gè)8個(gè)字節(jié)的long類型或4個(gè)字節(jié)的float類型,那怎么辦呢?可以一個(gè)字節(jié)一個(gè)字節(jié)輸出,也可以把轉(zhuǎn)換成字符串輸出,但是這樣轉(zhuǎn)換費(fèi)時(shí)間,若是直接輸出該多好啊,因此這個(gè)數(shù)據(jù)流就解決了我們輸出數(shù)據(jù)類型的困難。數(shù)據(jù)流可以直接輸出float類型或long類型,提高了數(shù)據(jù)讀寫的效率。

  • 打印流:printStream,printWriter,一般是打印到控制臺,可以進(jìn)行控制打印的地方。
  • 對象流:ObjectInputStream,ObjectOutputStream,把封裝的對象直接輸出,而不是一個(gè)個(gè)在轉(zhuǎn)換成字符串再輸出。
  • 序列化流:SequenceInputStream。
  • 對象序列化:把對象直接轉(zhuǎn)換成二進(jìn)制,寫入介質(zhì)中。

使用對象流需要實(shí)現(xiàn)Serializable接口,否則會報(bào)錯(cuò)。而若用transient關(guān)鍵字修飾成員變量,不寫入該成員變量,若是引用類型的成員變量為null,值類型的成員變量為0.

原文鏈接:http://blog.csdn.net/llhhyy1989/article/details/7388059

責(zé)任編輯:陳四芳 來源: 我的青春我做主
相關(guān)推薦

2013-09-16 16:07:38

Java基礎(chǔ)IO

2011-09-19 16:17:02

Java

2012-05-14 11:53:44

IO虛擬化

2010-05-11 13:36:50

Unix標(biāo)準(zhǔn)

2013-05-28 10:08:41

IO輸出

2016-08-23 17:21:51

UnixLinux重定向

2013-09-17 13:43:51

IO

2011-12-19 14:05:01

JavaIO

2015-08-10 14:39:46

Java 操作建議

2015-10-19 09:34:42

TCPIP網(wǎng)絡(luò)協(xié)議

2018-07-31 15:53:00

數(shù)據(jù)庫MySQLi-o

2018-11-05 11:20:54

緩沖IO

2023-07-26 08:22:17

JavaIO流

2020-06-03 17:30:42

LinuxIO

2020-12-11 11:04:07

NettyIO

2011-01-14 09:25:28

LinuxIO機(jī)制

2023-07-12 08:24:19

Java NIO通道

2020-08-07 08:03:37

IONetty

2022-12-08 09:10:11

I/O模型Java

2016-10-12 13:53:38

JavaByteBufferRandomAcces
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: av片在线观看 | 国产日韩在线观看一区 | 福利电影在线 | 婷婷综合在线 | 国产一区二区三区四区五区加勒比 | 久久国产精品免费一区二区三区 | 91在线精品一区二区 | 99视频在线免费观看 | 天天干视频网 | 欧美日韩高清免费 | 精品久久久久久久久久久 | 色婷婷在线视频 | 色橹橹欧美在线观看视频高清 | 欧美黑人国产人伦爽爽爽 | 国产亚洲精品久久久久动 | 精品日韩一区二区 | 亚洲精品成人 | 成人免费视频网站在线看 | 亚洲永久精品国产 | 成人免费在线播放 | 中文字幕不卡视频在线观看 | 一级a性色生活片久久毛片 一级特黄a大片 | 日日碰碰 | 欧美做暖暖视频 | a级黄色毛片免费播放视频 国产精品视频在线观看 | 伊人网91| 亚洲国产成人一区二区 | 精品一区电影 | 中文字幕免费 | 久久综合久久久 | 91九色porny首页最多播放 | 福利av在线 | 日韩在线视频一区 | 91嫩草精品| 天天看天天爽 | 在线观看欧美一区 | 丁香五月网久久综合 | 国产女人与拘做受免费视频 | 精品国产欧美 | 久草院线 | a级大片免费观看 |