nio支援管道操作。管道模型如下所示:
管道通常用來兩個執行緒來傳輸資料。
其中sinkchannel用於往pipe中寫資料,sourcechannel用於從pipe中讀資料。
1.建立管道
pipe pipe = pipe.open();
2.寫管道
pipe.sinkchannel sinkchannel = pipe.sink();
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())
3.讀管道
pipe.sourcechannel sourcechannel = pipe.source();
bytebuffer buf = bytebuffer.allocate(48);
int bytesread = sourcechannel.read(buf);
read的返回值表示讀到的位元組數。 NIO邊看邊記 之 channel(二)
通道channel就像流。通道中的資料總是先讀到到buffer中 對於buffer來說是乙個寫操作 再從buffer中寫到另乙個通道總 相對於buffer來說是乙個讀操作 channel主要分為兩類 檔案channel和網路channel,細分為4種。filechanel 從普通檔案中讀寫資料 da...
Apt get 邊看邊記
基於 beret,an apt get primer,http linux.article.pl?sid 04 12 03 177243 但不是完全翻譯,並且有所補充,算是一篇比較入門的有關 debian 的 apt 的文章吧啊。apt get 在debian專案中的地位是無可替代的,如果說有乙個程...
NIO邊看邊記 之 通道之間的資料傳輸(五)
兩個通道之間可以相互傳輸資料,但是至少乙個通道得是檔案channel。從乙個channel中傳輸到另乙個channel,目的channel作為呼叫方。例項 如下 randomaccessfile fromfile new randomaccessfile fromfile.txt rw filech...