真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java基礎(chǔ)知識雜文-創(chuàng)新互聯(lián)

1.基本概念

站在用戶的角度思考問題,與客戶深入溝通,找到鳩江網(wǎng)站設(shè)計與鳩江網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名申請、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋鳩江地區(qū)。

IO是主存和外部設(shè)備(硬盤、終端和網(wǎng)絡(luò)等)拷貝數(shù)據(jù)的過程。IO是操作系統(tǒng)的底層功能實現(xiàn),底層通過I/O指令進行完成。

所有語言運行時系統(tǒng)提供執(zhí)行I/O較高級別的工具。(c的printfscanf,java的面向?qū)ο蠓庋b)

2.Java標(biāo)準(zhǔn)io回顧

Java標(biāo)準(zhǔn)IO類庫是io面向?qū)ο蟮囊环N抽象?;诒镜胤椒ǖ牡讓訉崿F(xiàn),我們無須關(guān)注底層實現(xiàn)。InputStream\OutputStream(字節(jié)流):一次傳送一個字節(jié)。Reader\Writer(字符流):一次一個字符。

3.nio簡介

nio是javaNewIO的簡稱,在jdk1.4里提供的新api。Sun官方標(biāo)榜的特性如下:

–為所有的原始類型提供(Buffer)緩存支持。

–字符集編碼解碼解決方案。

–Channel:一個新的原始I/O抽象。

–支持鎖和內(nèi)存映射文件的文件訪問接口。

–提供多路(non-bloking)非阻塞式的高伸縮性網(wǎng)絡(luò)I/O。

本文將圍繞這幾個特性進行學(xué)習(xí)和介紹。

4.Buffer&Chanel

Channel和buffer是NIO是兩個最基本的數(shù)據(jù)類型抽象。

Buffer:

–是一塊連續(xù)的內(nèi)存塊。

–是NIO數(shù)據(jù)讀或?qū)懙闹修D(zhuǎn)地。

Channel:

–數(shù)據(jù)的源頭或者數(shù)據(jù)的目的地

–用于向buffer提供數(shù)據(jù)或者讀取buffer數(shù)據(jù),buffer對象的唯一接口。

–異步I/O支持

例子 1:CopyFile.java:

package sample;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
public class CopyFile {
	public static void main(String[] args) throws Exception {
		String infile = "C:\\copy.sql";
		String outfile = "C:\\copy.txt";
		// 獲取源文件和目標(biāo)文件的輸入輸出流 
		FileInputStream fin = new FileInputStream(infile);
		FileOutputStream fout = new FileOutputStream(outfile);
		// 獲取輸入輸出通道 
		FileChannel fcin = fin.getChannel();
		FileChannel fcout = fout.getChannel();
		// 創(chuàng)建緩沖區(qū) 
		ByteBuffer buffer = ByteBuffer.allocate(1024);
		while (true) {
			// clear方法重設(shè)緩沖區(qū),使它可以接受讀入的數(shù)據(jù) 
			buffer.clear();
			// 從輸入通道中將數(shù)據(jù)讀到緩沖區(qū) 
			int r = fcin.read(buffer);
			// read方法返回讀取的字節(jié)數(shù),可能為零,如果該通道已到達流的末尾,則返回-1 
			if (r == -1) {
				break;
			}
			// flip方法讓緩沖區(qū)可以將新讀入的數(shù)據(jù)寫入另一個通道 
			buffer.flip();
			// 從輸出通道中將數(shù)據(jù)寫入緩沖區(qū) 
			fcout.write(buffer);
		}
	}
}

網(wǎng)頁名稱:Java基礎(chǔ)知識雜文-創(chuàng)新互聯(lián)
當(dāng)前地址:http://weahome.cn/article/dppsii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部