Java NIO(十三) Pipe(管道)

Java NIO Pipe是兩個線程之間的單向數(shù)據(jù)連接。 一個管道有一個源通道和一個接收通道敛腌。 您將數(shù)據(jù)寫入接收器通道。 然后可以從源通道讀取這些數(shù)據(jù)。

這是一個管道原理的例子:
image.png

Creating a Pipe管道

通過調(diào)用Pipe.open()方法打開Pipe奕枢。 這是如何看起來如此:

Pipe pipe = Pipe.open();

Writing to a Pipe

要寫入管道,您需要訪問接收器通道佩微。 這是如何做到的:

Pipe.SinkChannel sinkChannel = pipe.sink();

你可以通過調(diào)用write()方法來寫入SinkChannel缝彬,如下所示:

String newData = "New String to write to file..." + System.currentTimeMillis();

ByteBuffer buf = ByteBuffer.allocate(48);
buf.clear();
buf.put(newData.getBytes());

buf.flip();

while(buf.hasRemaining()) {
    sinkChannel.write(buf);
}

Reading from a Pipe

要從管道中讀取,您需要訪問源通道哺眯。 這是如何做到的:

Pipe.SourceChannel sourceChannel = pipe.source();

要從源通道讀取谷浅,請調(diào)用其read()方法,如下所示:

ByteBuffer buf = ByteBuffer.allocate(48);

int bytesRead = inChannel.read(buf);

read()方法返回的int告訴有多少字節(jié)讀取到緩沖區(qū)奶卓。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末一疯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子夺姑,更是在濱河造成了極大的恐慌墩邀,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件盏浙,死亡現(xiàn)場離奇詭異眉睹,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)废膘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門竹海,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人丐黄,你說我怎么就攤上這事斋配。” “怎么了孵稽?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵许起,是天一觀的道長。 經(jīng)常有香客問我菩鲜,道長园细,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任接校,我火速辦了婚禮猛频,結(jié)果婚禮上狮崩,老公的妹妹穿的比我還像新娘。我一直安慰自己鹿寻,他們只是感情好睦柴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著毡熏,像睡著了一般坦敌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上痢法,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天狱窘,我揣著相機(jī)與錄音,去河邊找鬼财搁。 笑死蘸炸,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的尖奔。 我是一名探鬼主播搭儒,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼提茁!你這毒婦竟也來了淹禾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤甘凭,失蹤者是張志新(化名)和其女友劉穎稀拐,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體丹弱,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年铲咨,在試婚紗的時候發(fā)現(xiàn)自己被綠了躲胳。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡纤勒,死狀恐怖坯苹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情摇天,我是刑警寧澤粹湃,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站泉坐,受9級特大地震影響为鳄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜腕让,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一孤钦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦偏形、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至萨惑,卻和暖如春捐康,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背咒钟。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工吹由, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人朱嘴。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓倾鲫,卻偏偏與公主長得像,于是被迫代替她去往敵國和親萍嬉。 傳聞我的和親對象是個殘疾皇子乌昔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Java NIO(New IO)是從Java 1.4版本開始引入的一個新的IO API,可以替代標(biāo)準(zhǔn)的Java I...
    JackChen1024閱讀 7,555評論 1 143
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理壤追,服務(wù)發(fā)現(xiàn)磕道,斷路器,智...
    卡卡羅2017閱讀 134,665評論 18 139
  • 前言: 之前的文章《Java文件IO常用歸納》主要寫了Java 標(biāo)準(zhǔn)IO要注意的細(xì)節(jié)和技巧行冰,由于網(wǎng)上各種學(xué)習(xí)途徑溺蕉,...
    androidjp閱讀 2,907評論 0 22
  • 參考:http://ifeve.com/non-blocking-server/原文地址 目錄 Java NIO教...
    步積閱讀 4,244評論 1 13
  • 宮斗劇幾乎是從小看到大,個性鮮明有印象的卻不多悼做,大概是因?yàn)槟切┠甑膶m斗劇疯特,大多是突出一個女主,其余都是配角的緣故肛走。...
    千瓊皎皎閱讀 466評論 0 4