小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

什么是IO

 冰紅荼 2006-02-24
什么是IO
  
  IO(Input/Output)是計(jì)算機(jī)輸出/輸出的接口。Java的核心庫java.io提供了全面的IO接口,包括:文件讀寫,標(biāo)準(zhǔn)設(shè)備輸出等等。Java中IO是以流為基礎(chǔ)進(jìn)行輸入輸出的,所有數(shù)據(jù)被串行化寫入輸出流,或者從輸入流讀入。此外,Java也對塊傳輸提供支持,在核心庫java.nio中采用的便是塊IO。關(guān)于NIO我們在后面還有專門的討論。
  
  流IO的好處是簡單易用,缺點(diǎn)是效率較低。塊IO效率很高,但編程比較復(fù)雜。
  
  Java IO模型
  
  Java的IO模型設(shè)計(jì)非常優(yōu)秀,它使用Decorator模式,按功能劃分Stream,您可以動態(tài)裝配這些Stream,以便獲得您需要的功能。例如,您需要一個具有緩沖的文件輸入流,則應(yīng)當(dāng)組合使用FileInputStream和BufferedInputStream。
  
  Java的IO體系分Input/Output和Reader/Writer兩類,區(qū)別在于Reader/Writer在讀寫文本時(shí)能自動轉(zhuǎn)換內(nèi)碼。基本上,所有的IO類都是配對的,即有XxxInput就有一個對應(yīng)的XxxOutput。
  
  Java IO教程
  
  如果您對Decorator模式非常了解,就能輕易地看出Java的IO類結(jié)構(gòu):根接口是InputStream/OutputStream,充當(dāng)數(shù)據(jù)源的IO類有FileInputStream/FileOutputStream,ByteArrayInputStream/ByteArrayOutputStream等,充當(dāng)裝飾功能的IO類有BufferedInputStream/BufferedOutputStream,DataInputStream/DataOutputStream等,它們都是繼承裝飾接口FilterInputStream/FilterOutputStream。使用IO時(shí),首先創(chuàng)建一個數(shù)據(jù)源IO,然后根據(jù)需要的功能創(chuàng)建裝飾類IO,其構(gòu)造函數(shù)的參數(shù)為已創(chuàng)建的數(shù)據(jù)源IO。我們以創(chuàng)建一個具有緩沖的文件輸入流為例,假定需要從磁盤讀取文件“C:\log.txt”:
  
  // 創(chuàng)建一個FileInputStream:
  
  FileInputStream fileInput = new FileInputStream("C:\\log.txt");
  
  // 創(chuàng)建一個BufferedInputStream:
  
  BufferedInputStream bufferedInput = new BufferedInputStream(fileInput);
  
  // 現(xiàn)在得到的bufferedInput即是具有緩沖的文件輸入流
  
  或者進(jìn)一步簡寫如下:
  
  InputStream input = new BufferedInputStream(
  
  ew FileInputStream("C:\\log.txt"));
  
  // 現(xiàn)在得到的input即是具有緩沖的文件輸入流
  
  在您對Java的IO有了總體了解后,我們推薦您看看教程Introduction to Java I/O和I/O: Reading and Writing。
  
  Java NIO編程
  
  NIO提供了對塊IO的支持,使用塊IO的好處是效率更高,而且Java的NIO將直接調(diào)用操作系統(tǒng)提供的許多高級IO接口,支持塊傳輸,讀寫鎖定,異步IO等功能,效率非常高。NIO的編程模型是通道和緩沖區(qū),推薦您閱讀Getting started with new I/O(中文)。 }

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多