<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jsenter

    2005年3月31日 #

    JAVA的IO學(xué)習(xí)全面講解。

    IO兩大主流,16位和8位
    16位對(duì)應(yīng)Writer 和 Reader
    根據(jù)編程目的不同有
    FileWriter和FileWriter        對(duì)文件進(jìn)行讀寫。
    StringWriter、StringReader    對(duì)內(nèi)存里的位置進(jìn)行讀寫。
    PipedWrier、PipedReader       兩個(gè)線程間通訊用

     8位對(duì)應(yīng)InputStream 和 OutputStream
    根據(jù)編程目的不同有
    FileInputStream、FileOutputStream            對(duì)文件進(jìn)行讀寫
    ByteArrayInputStream、ByteArrayOutputStream  對(duì)字節(jié)數(shù)組進(jìn)行讀寫
    PipedInputStream、PipedOutputStream          線程間通訊用
    注意:在數(shù)據(jù)流里不存在字符串的IO操作,那樣就要用Reader和Writer類

    二者的橋梁在InputStreamReader、OutputStreamWriter

    BufferedWriter、BufferedReader、BufferedInputStream、BufferedOutputStream

    是用來(lái)提高IO速度的,注意包裝的時(shí)候最好最先包裝Buffered,這樣效果會(huì)好些。

    包裝模式的理解。Package Pattern

    各種Data Type的長(zhǎng)度的記憶.
    還要注意對(duì)象流的使用.

    高級(jí)IO操作:
    信道IO,java.nio.channels包
    他的主要特征是可以對(duì)內(nèi)存進(jìn)行快讀寫操作,進(jìn)行內(nèi)存映射.
    同時(shí)可以創(chuàng)建各種數(shù)據(jù)類型的緩沖區(qū),從而提高IO操作效率.

    posted @ 2005-04-24 03:56 李貝 閱讀(860) | 評(píng)論 (0)編輯 收藏

    JAVA授權(quán)事件模型講解(原創(chuàng))

    JAVA的授權(quán)事件模型包含三個(gè)概念:事件源,事件,事件監(jiān)聽器。

    一,事件源:一個(gè)產(chǎn)生事件的對(duì)象。當(dāng)這個(gè)對(duì)象的內(nèi)部狀態(tài)改變時(shí),事件就會(huì)產(chǎn)生。一個(gè)事件源必須注冊(cè)一個(gè)事件監(jiān)聽器已使監(jiān)聽器能夠可以接受一個(gè)特定時(shí)間的通知。每一種事件都有它特定的注冊(cè)方法,通用形式為:addTypeListener(TypeListener e)

    二,事件:一個(gè)事件是描述了一個(gè)事件源的狀態(tài)改變的對(duì)象。他可能通過(guò)一個(gè)人與圖形用戶接口的交互產(chǎn)生。如輸入文字,點(diǎn)擊鼠標(biāo)。也可能不是由這些產(chǎn)生,如:一個(gè)事件可能在定時(shí)器中到期而產(chǎn)生。當(dāng)然用戶也可以自由的定義自己的事件。

    注意:其中的Type可以是Key, Mouse,等。一個(gè)事件源可能允許注冊(cè)多個(gè)事件監(jiān)聽器,也可能只允許注冊(cè)一個(gè)監(jiān)聽器。

    事件源也允許注銷一個(gè)事件監(jiān)聽器,通用方法為:removeTypeListener(TypeListener e);

    三,事件監(jiān)聽器:一個(gè)當(dāng)事件發(fā)生時(shí)的時(shí)候被通知的對(duì)象。它有兩個(gè)要求:
    1,它必須在事件源中注冊(cè)。
    2,它必須實(shí)現(xiàn)接受和處理事件通知的方法。

    還是來(lái)個(gè)比喻吧:你要想成為一個(gè)可以接受事件并處理事件的對(duì)象(即事件監(jiān)聽器),必須繼承TypeListener類,其中的Type為事件類型。然后去注冊(cè)你想監(jiān)聽的對(duì)象,并自己實(shí)現(xiàn)處理事件發(fā)生的方法,然后你就坐在等待事件的發(fā)生啦,哈哈!


    附源程序研究用:
    /*===============DemoEvent.java清單=============*/
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;


    public class DemoEvent extends Applet implements MouseListener, MouseMotionListener{
        public String msg = "";
        public int mouseX = 0, mouseY = 0;
        
        /*
        *注冊(cè)事件監(jiān)聽器
        */
        public void init() {
            addMouseListener(this);
            addMouseMotionListener(this);
        }

        /*
        *下面為所有處理MouseEvent的方法,當(dāng)然你可以自定義自己的方法,但不能少了這些。
        */
        public void mouseMoved(MouseEvent me) {
            showStatus("mouse moved at :"+me.getX() +"," + me.getY());    
        }
        public void mouseReleased(MouseEvent me) {
            mouseX = me.getX();
            mouseY = me.getY();
            msg = "UP";
            repaint();    
        }
        public void mouseClicked(MouseEvent me) {
            mouseX = 0;
            mouseY = 10;
            msg = "Mouse clicked!";
            repaint();
        }
        public void mouseEntered(MouseEvent me) {
            mouseX = 0;
            mouseY = 10;    ;
            msg = "Mouse Entered!";
            repaint();
        }
        public void mouseExited(MouseEvent me) {
            mouseX = 0;
            mouseY = 0;
            msg = "Mouse Exited!";
            repaint();
        }
        public void mouseDragged(MouseEvent me) {
            mouseX = me.getX();
            mouseY = me.getY();
            msg = "*";
            repaint();    
        }
        public void mousePressed(MouseEvent me) {
            mouseX = me.getX();
            mouseY = me.getY();
            msg = "Down";
            repaint();
        }
        /*===================方法說(shuō)明結(jié)束==================*/    
        public void paint(Graphics g) {
            g.drawString(msg, mouseX, mouseY);
        }
    }
    /*
    *相關(guān)說(shuō)明:這里的DemoEvent既是事件源也是事件監(jiān)聽器。
    *
    */
    /*===================DemoEvent.java清單===================*/

    posted @ 2005-03-31 22:44 李貝 閱讀(1379) | 評(píng)論 (4)編輯 收藏

    主站蜘蛛池模板: 曰批全过程免费视频观看免费软件| 成人免费毛片内射美女-百度| 日本亚洲精品色婷婷在线影院| 77777亚洲午夜久久多人| 69式互添免费视频| 人妻巨大乳hd免费看| 亚洲中文字幕久久精品蜜桃 | 日本免费一本天堂在线| 国产一区二区免费| 免费的黄色网页在线免费观看| 中文字幕免费观看视频| 国产成人精品亚洲一区| 亚洲kkk4444在线观看| 亚洲黄页网在线观看| 无套内射无矿码免费看黄| 国内精品免费在线观看| 国产成在线观看免费视频| 又粗又黄又猛又爽大片免费| 成人免费视频国产| 亚洲中文字幕无码日韩| 亚洲成人免费网站| 亚洲天堂一区二区| 亚洲国产AV无码专区亚洲AV| 国产综合亚洲专区在线| 亚洲日韩中文字幕| 狠狠综合亚洲综合亚洲色| 朝桐光亚洲专区在线中文字幕 | 永久中文字幕免费视频网站| 久久久久国色AV免费看图片| 精品香蕉在线观看免费| 黄页网站免费在线观看| 毛片免费观看的视频在线| 日韩精品视频免费网址| 情人伊人久久综合亚洲| 亚洲乱码中文字幕在线| 国产天堂亚洲精品| 久久国产高潮流白浆免费观看| 亚洲免费视频网址| 亚洲电影日韩精品| 久久影视国产亚洲| 久久精品国产亚洲av麻豆 |