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

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

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

    I/O View ByteBuffer - Primitive Types

    The ByteBuffer is produced by "wrapping" an eight-byte array, which is then displayed via view buffers of all the different primitive types. You can see in the following diagram the way the data appears differently when read from the different types of buffers:

    package think.in.java.io;

    import java.nio.ByteBuffer;
    import java.nio.CharBuffer;
    import java.nio.DoubleBuffer;
    import java.nio.FloatBuffer;
    import java.nio.IntBuffer;
    import java.nio.LongBuffer;
    import java.nio.ShortBuffer;

    public class ViewBuffers {

        
    public static void main(String[] args) {
            
    //-------------ByteBuffer-----------
            ByteBuffer bb = ByteBuffer.wrap(new byte[]{0,0,0,0,0,0,0,'a'});
            bb.rewind();
            System.out.println(
    "-----Byte Buffer-----");
            
    while(bb.hasRemaining()){
                System.out.println(bb.position() 
    + " -> " + bb.get() + "");
            }
            
    //-------------CharBuffer-----------
            CharBuffer cb = ((ByteBuffer)bb.rewind()).asCharBuffer();
            System.out.println(
    "-----Char Buffer-----");
            
    while(cb.hasRemaining()){
                System.out.println(cb.position() 
    + " -> " + cb.get() + "");
            }
            
    //-------------FloatBuffer-----------
            FloatBuffer fb = ((ByteBuffer)bb.rewind()).asFloatBuffer();
            System.out.println(
    "-----Float Buffer-----");
            
    while(fb.hasRemaining()){
                System.out.println(fb.position() 
    + " -> " + fb.get() + "");
            }
            
    //-------------IntBuffer-----------
            IntBuffer ib = ((ByteBuffer)bb.rewind()).asIntBuffer();
            System.out.println(
    "-----Int Buffer-----");
            
    while(ib.hasRemaining()){
                System.out.println(ib.position() 
    + " -> " + ib.get() + "");
            }
            
    //-------------LongBuffer-----------
            LongBuffer lb = ((ByteBuffer)bb.rewind()).asLongBuffer();
            System.out.println(
    "-----Long Buffer-----");
            
    while(lb.hasRemaining()){
                System.out.println(lb.position() 
    + " -> " + lb.get() + "");
            }
            
    //-------------ShortBuffer-----------
            ShortBuffer sb = ((ByteBuffer)bb.rewind()).asShortBuffer();
            System.out.println(
    "-----Short Buffer-----");
            
    while(sb.hasRemaining()){
                System.out.println(sb.position() 
    + " -> " + sb.get() + "");
            }
            
    //-------------DoubleBuffer-----------
            DoubleBuffer db = ((ByteBuffer)bb.rewind()).asDoubleBuffer();
            System.out.println(
    "-----Double Buffer-----");
            
    while(db.hasRemaining()){
                System.out.println(db.position() 
    + " -> " + db.get() + "");
            }
            
        }

    }

    // Output:
    -----Byte Buffer-----
    0 -> 0
    1 -> 0
    2 -> 0
    3 -> 0
    4 -> 0
    5 -> 0
    6 -> 0
    7 -> 97
    -----Char Buffer-----
    0 -> ,
    1 -> ,
    2 -> ,
    3 -> a,
    -----Float Buffer-----
    0 -> 0.0
    1 -> 1.36E-43
    -----Int Buffer-----
    0 -> 0
    1 -> 97
    -----Long Buffer-----
    0 -> 97
    -----Short Buffer-----
    0 -> 0
    1 -> 0
    2 -> 0
    3 -> 97
    -----Double Buffer-----
    0 -> 4.8E-322,



    A ByteBuffer stores data in bug endian form, and data sent over a network always uses big endian order.
    You can change the endian-ness of ByteBuffer using order() with an argument of ByteOrder.BIG_ENDIAN or ByteBOrder.LITTLE_ENDIAN.



    If you want to write a byte array to a file, then you wrap  the byte array using the ByteBuffer.wrap() method, open a channel on the FileOutputStream using the getChannel() method, and then write data into FileChannel from this ByteBuffer.




















    posted on 2012-11-07 10:46 鹽城小土包 閱讀(198) 評論(0)  編輯  收藏 所屬分類: J2EE

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿

    隨筆檔案(14)

    文章分類(18)

    文章檔案(18)

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: ASS亚洲熟妇毛茸茸PICS| 亚洲香蕉免费有线视频| 中文字幕无码亚洲欧洲日韩| 亚洲色婷婷综合开心网| 人禽杂交18禁网站免费| 一区二区三区四区免费视频| 特级毛片全部免费播放| 亚洲欧美中文日韩视频| 亚洲图片中文字幕| 久久精品视频亚洲| 在线观看亚洲av每日更新| 国产精品国产免费无码专区不卡| 成人免费大片免费观看网站| 日本免费中文视频| 中文字幕免费在线看电影大全 | 国产精品小视频免费无限app | 免费无码成人AV片在线在线播放| 99久久免费精品视频| 国产一区二区免费| 99久久精品毛片免费播放| 免费一区二区三区在线视频| 亚洲AV日韩AV永久无码色欲 | 免费精品一区二区三区在线观看| 国产香蕉免费精品视频| 在线免费观看亚洲| 99久久精品免费视频| 无码国产精品一区二区免费模式| 91免费在线视频| 日韩电影免费在线观看网站| 男女一进一出抽搐免费视频| ssswww日本免费网站片| 国产黄片不卡免费| 两个人看的www免费视频| a毛看片免费观看视频| 日本三级在线观看免费| 免费视频一区二区| 最近中文字幕大全免费视频| 中文字幕在线免费| 一个人在线观看视频免费| 天天干在线免费视频| 少妇亚洲免费精品|