亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ior.java

?? openmap java寫的開源數字地圖程序. 用applet實現,可以像google map 那樣放大縮小地圖.
?? JAVA
字號:
// **********************************************************************// // <copyright>// //  BBN Technologies//  10 Moulton Street//  Cambridge, MA 02138//  (617) 873-8000// //  Copyright (C) BBNT Solutions LLC. All rights reserved.// // </copyright>// **********************************************************************// // $Source: /cvs/distapps/openmap/src/corba/com/bbn/openmap/util/corba/IOR.java,v $// $RCSfile: IOR.java,v $// $Revision: 1.3.2.2 $// $Date: 2005/08/09 21:17:58 $// $Author: dietrick $// // **********************************************************************package com.bbn.openmap.util.corba;import java.io.File;import java.io.FileInputStream;import java.io.PrintWriter;/** * Utility class that reads and decodes CORBA IOR files. For debugging * purposes. */public class IOR {    static boolean debug = false;    static boolean verbose = false;    byte[] hex;    IOR(byte[] rawIOR) {        hex = rawIOR;    }    /**     * The first four bytes are 'IOR:' The rest of the bytes are an     * encapsulation of an IOR encoded in hex. So we first unencode     * the hex, to create a new byte array that is the encapsulated     * IOR.     *      * Encapsulation is defined in the CORBA Spec, section 12.3.3 The     * first byte indicates byte order: TRUE for BigEndian, False for     * LittleEndian. In practice, it seems to be encoded as a 4-byte     * value.     *      * Next comes a type_id string. Strings are encoded as a long (4     * bytes) indicating length, followed by n bytes of ascii text.     * The nth byte is the null byte, for the benefit of C programs.     *      * Next is a sequence of profiles. Sequences are encoded as a long     * followed by n objects. In this case, a Profile consists of a     * ProfileID (long, 4 bytes) followed by a IIOP::ProfileBody.     *      * The ProfileID (see section 10.6) is either IOP or     * MultipleComponents. I don't know anything about     * MultipleComponents, as they are intended to be opaque. This     * program only parses IOP Profiles, although it successfully     * skips over Multiple Component Profiles.     *      * An IOP Profile is a ProfileBody, defined in 12.7.2 of CORBA     * spec. A ProfileBody consists of: A version, major and minor.     * Spec'ed as two chars, in practice two shorts. A host string A     * port (2 bytes) An object key. This is an opaque sequence of     * bytes for use by the CORBA implementation that produced the     * IOR.     *       */    void parse(PrintWriter out) {        // Make sure first four bytes are 'IOR:'        String prefix = new String(hex, 0, 4);        if (!prefix.equals("IOR:")) {            System.err.println("Invalid IOR");            System.err.println("The first four bytes should be: 'IOR:'");            System.err.println("Found: " + prefix);            System.exit(1);        }        int iorLength = (hex.length - 4) / 2;        byte[] ior = new byte[iorLength];        for (int hexIndex = 4, iorIndex = 0; hexIndex < hex.length; hexIndex += 2, iorIndex++) {            try {                ior[iorIndex] = (byte) ((hexByteToInt(hex[hexIndex]) << 4) + (hexByteToInt(hex[hexIndex + 1])));            } catch (NumberFormatException e) {                System.err.println("Index: " + hexIndex);                System.err.println(e);                return;            }        }        if (debug) {            // print out all the bytes            for (int i = 0; i < iorLength; i++) {                System.out.println(i + ": " + ior[i] + ", " + (char) ior[i]);            }        }        DataPointer dp = new DataPointer(debug);        int endian = getLongAt(dp, ior);        if (endian == 0)            out.println("Big Endian");        else            out.println("Little Endian");        int type_id_length = getLongAt(dp, ior);        if (verbose) {            out.println("type id length = " + type_id_length);        }        String type_id = getStringAt(dp, ior, type_id_length);        out.println("Type ID = \"" + type_id + "\"");        int nProfiles = getLongAt(dp, ior);        if (nProfiles < 0) {            System.err.println("Found " + nProfiles + " profiles.  Aborting");            System.exit(1);        }        if (verbose) {            if (nProfiles == 0) {                out.println("There are no profiles.");            } else if (nProfiles == 1) {                out.println("There is 1 profile.");            } else {                out.println("There are " + nProfiles + " profiles.");            }        }        for (int p = 0; p < nProfiles; p++) {            int ProfileID = getLongAt(dp, ior);            out.println("Profile " + p + ": ");            if (ProfileID == 0) {                out.println("\tID: TAG_INTERNET_IOP");                int profileDataLength = getLongAt(dp, ior);                if (verbose) {                    out.println("\tProfile length: " + profileDataLength);                }                int major = getShortAt(dp, ior);                int minor = getShortAt(dp, ior);                out.println("\tIIOP Version: " + major + "." + minor);                int hostLength = getLongAt(dp, ior);                String host = getStringAt(dp, ior, hostLength);                out.println("\tHost: " + host);                int port = getShortAt(dp, ior);                out.println("\tPort: " + port);                int objectKeyLength = getLongAt(dp, ior);                if (verbose) {                    out.println("\tObject Key Length: " + objectKeyLength);                }                String objectKey = getStringAt(dp, ior, objectKeyLength);                out.println("\tObject Key: \"" + objectKey + "\"");            } else if (ProfileID == 1) {                out.println("\tID: TAG_MULTIPLE_COMPONENTS");                int profileDataLength = getLongAt(dp, ior);                out.println("\tProfile length: " + profileDataLength);                dp.incPointer(profileDataLength);            } else {                out.println("Unknown, value is " + ProfileID);                return;            }        }        if (dp.getPointer() == iorLength) {            out.println("IOR read successfully");        } else if (dp.getPointer() > iorLength) {            System.err.println("Failure! Overran buffer.");        } else if (dp.getPointer() < iorLength) {            System.err.println("Failure! Incomplete read.");        } else {            System.err.println("Failure! Unknown state.");        }    }    int hexByteToInt(byte b) {        char hex = (char) b;        if (('0' <= hex) && (hex <= '9')) {            return (int) (hex - '0');        } else if (('a' <= hex) && (hex <= 'f')) {            return (int) (10 + (hex - 'a'));        } else if (('A' <= hex) && (hex <= 'F')) {            return (int) (10 + (hex - 'A'));        } else {            throw new NumberFormatException("byte: " + b);        }    }    //     public static int getIntAt (int idx, byte[] b) {    //      // gets an int at the specified location.    //      return 0;    //     }    int getInt4At(DataPointer dp, byte[] b) {        // gets a 4 byte integer off the byte array at index dp        dp.align(4);        int i = dp.getPointer();        int x = ((b[i] << 24) + (b[i + 1] << 16) + (b[i + 2] << 8) + (b[i + 3] << 0));        dp.incPointer(4);        return x;    }    int getInt2At(DataPointer dp, byte[] b) {        // gets a 2 byte integer off the byte array at index i        dp.align(2);        int i = dp.getPointer();        int x = ((b[i] << 8) + (b[i + 1]));        dp.incPointer(2);        return x;    }    int getShortAt(DataPointer dp, byte[] b) {        return getInt2At(dp, b);    }    int getLongAt(DataPointer dp, byte[] b) {        return getInt4At(dp, b);    }    String getStringAt(DataPointer dp, byte[] b, int length) {        // gets a string of length 'length' off the byte array at        // index dp        dp.align(1);        int end = dp.getPointer() + length - 1; // Ignore the final                                                // null        StringBuffer buf = new StringBuffer(length);        for (int j = dp.getPointer(); j < end; j++) {            buf.append((char) b[j]);        }        dp.incPointer(length);        return buf.toString();    }    public static void printUsage() {        System.err.println("usage: java ior [-verbose] [-debug] filename");    }    /*     * bytes 0-3 = 'IOR:' bytes 4-n are hex representation of IOR.     *      *       */    public static void main(String args[]) {        if (args.length == 0) {            printUsage();            System.exit(1);        }        String filename = null;        // Parse the arguments        for (int a = 0; a < args.length; a++) {            if (args[a].charAt(0) == '-') {                if (args[a].equals("-verbose"))                    verbose = true;                else if (args[a].equals("-debug"))                    debug = true;                else {                    printUsage();                    System.exit(1);                }            } else if (filename == null) {                filename = args[a];            } else {                printUsage();                System.exit(1);            }        }        if (verbose || debug) {            System.out.println("-------------------------------------------");            System.out.println("verbose = " + verbose);            System.out.println("debug = " + debug);            System.out.println("filename = " + filename);            System.out.println("-------------------------------------------");            System.out.println();        }        byte[] contents = null;        File f = new File(filename);        try {            FileInputStream fis = new FileInputStream(f);            int nAvail = fis.available();            contents = new byte[nAvail];            /*int length = */fis.read(contents);            fis.close();            new IOR(contents).parse(new PrintWriter(System.out, true));        } catch (java.io.FileNotFoundException e) {            System.err.println("File not found: " + f);            return;        } catch (java.io.IOException e) {            System.err.println("Error reading file " + f);            return;        }    }    /**     * An abstraction of a pointer into a byte array. This pointer     * allows its clients to align the pointer on arbitrary byte     * boundaries, and increment freely.     *      * It is particularly useful in Java where you can't pass     * arguments by reference. By passing a DataPointer, a function     * can align and increment the pointer transparently to its     * clients.     */    class DataPointer {        int ptr;        boolean debug;        DataPointer() {            ptr = 0;            debug = false;        }        DataPointer(boolean dbg) {            ptr = 0;            debug = dbg;        }        void incPointer(int increment) {            if (debug)                System.out.print("ptr: " + ptr + "+" + increment + " = ");            ptr += increment;            if (debug)                System.out.println(ptr);        }        int getPointer() {            return ptr;        }        void align(int boundary) {            while ((ptr % boundary) != 0) {                if (debug)                    System.out.println("ptr: align: " + ptr + ", " + boundary);                ptr++;            }        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国精产品一区一区三区mba桃花| 欧美精品成人一区二区三区四区| 日韩午夜精品视频| 国产麻豆精品视频| 国产亚洲欧美在线| 欧美午夜电影一区| 久久不见久久见免费视频7| 国产精品国模大尺度视频| 欧美日韩黄色一区二区| 成人综合在线观看| 日韩专区中文字幕一区二区| 日本一区二区三区四区在线视频| 在线成人av网站| 99久久精品一区| 国产精品性做久久久久久| 亚洲成av人片www| 国产精品美女久久久久久| 日韩三区在线观看| 在线视频欧美区| 白白色亚洲国产精品| 国产又粗又猛又爽又黄91精品| 一区二区三区四区在线播放| 中文一区一区三区高中清不卡| 在线电影欧美成精品| 成人精品鲁一区一区二区| 午夜久久久久久久久久一区二区| 日韩理论片网站| 国产亚洲综合色| 在线免费观看日本一区| 国产福利一区二区三区视频| 男女男精品视频网| 亚洲福利视频三区| 国产欧美一区二区精品忘忧草 | 久久久久久影视| 在线观看精品一区| 91色porny在线视频| 成人av在线看| 国产成人8x视频一区二区 | 韩国中文字幕2020精品| 午夜亚洲福利老司机| 国产婷婷色一区二区三区| 欧美成人一区二区三区片免费| 欧美人与禽zozo性伦| 成人性生交大片免费| 成人深夜视频在线观看| 国产高清久久久久| 国产91精品一区二区麻豆网站| 国产成人一区在线| 国产精品1区2区3区在线观看| 国产在线看一区| 久久精品国产久精国产爱| 视频一区视频二区中文字幕| 午夜精品视频在线观看| 亚洲午夜精品久久久久久久久| 亚洲一区二区在线免费观看视频| 亚洲综合区在线| 精品国产乱码久久久久久闺蜜| 精品国产一区二区三区不卡 | 奇米精品一区二区三区在线观看 | 欧美日韩一区在线| 91尤物视频在线观看| 国产不卡视频一区| 色综合色狠狠天天综合色| 99国产精品久久久久久久久久 | 久久精品在这里| 国产精品国产三级国产普通话99| 亚洲另类在线一区| 日日摸夜夜添夜夜添精品视频| 美女www一区二区| 国产成人8x视频一区二区| 色视频成人在线观看免| 91精品国产欧美日韩| 久久综合九色综合欧美亚洲| 久久精品亚洲乱码伦伦中文| 亚洲日本一区二区| 日韩在线一区二区| 国产91色综合久久免费分享| 欧美在线免费视屏| 26uuu国产电影一区二区| 国产精品久久久久久福利一牛影视 | 一区二区三区在线观看动漫 | 国产精品乱码妇女bbbb| 亚洲国产日日夜夜| 蜜桃视频在线观看一区二区| 成熟亚洲日本毛茸茸凸凹| 欧美性videosxxxxx| 久久久久久97三级| 亚洲一区二区三区视频在线播放 | 在线播放欧美女士性生活| 国产视频一区二区在线| 日日夜夜免费精品视频| 欧美在线制服丝袜| 亚洲制服丝袜在线| 在线免费不卡视频| 午夜一区二区三区视频| 在线观看成人免费视频| 亚洲蜜桃精久久久久久久| 99久免费精品视频在线观看| 久久综合九色综合97_久久久| 免费亚洲电影在线| 日韩欧美激情在线| 蓝色福利精品导航| 欧美va亚洲va香蕉在线| 精品系列免费在线观看| 久久综合精品国产一区二区三区| 九一久久久久久| 久久日韩粉嫩一区二区三区| 精品一区二区国语对白| 精品国产一区二区三区久久影院| 精品一区二区三区在线视频| 精品国产免费人成电影在线观看四季| 免费人成网站在线观看欧美高清| 制服丝袜av成人在线看| 日韩高清国产一区在线| 日韩精品一区二区三区蜜臀| 国精产品一区一区三区mba视频| 久久免费午夜影院| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 欧美日产在线观看| 奇米888四色在线精品| 久久影视一区二区| 成人sese在线| 亚洲一线二线三线久久久| 91精品国产综合久久久蜜臀图片| 久久精品99国产精品| 久久久久久久久久久久电影| voyeur盗摄精品| 亚洲国产成人91porn| 欧美成人aa大片| 99久久久久久| 秋霞影院一区二区| 国产精品少妇自拍| 欧美日韩国产高清一区二区| 国产精品一区不卡| 一区二区三区四区蜜桃| 精品久久久久久久久久久久久久久久久 | 国产精品综合一区二区| 中文字幕亚洲成人| 欧美久久久久久蜜桃| 国产suv精品一区二区三区| 一区二区三区在线影院| 精品久久久久久亚洲综合网| 一本色道久久综合亚洲91| 热久久久久久久| 亚洲少妇屁股交4| 日韩精品影音先锋| 欧美亚洲综合在线| 国产精品99久久久久久宅男| 亚洲国产综合人成综合网站| 欧美国产日产图区| 日韩一区二区三区四区五区六区| hitomi一区二区三区精品| 青青草原综合久久大伊人精品| 日韩美女视频一区二区| 久久中文字幕电影| 884aa四虎影成人精品一区| 99久久99久久综合| 国产一区二区成人久久免费影院| 亚洲国产视频在线| 国产精品久久久久久久久免费樱桃| 欧美男生操女生| 日本电影欧美片| 福利91精品一区二区三区| 视频一区视频二区中文| 亚洲欧美一区二区三区极速播放| 26uuu亚洲综合色| 欧美精品久久一区| 97se亚洲国产综合自在线| 国产又黄又大久久| 美女视频一区二区三区| 天天综合色天天综合| 伊人色综合久久天天| 国产乱子伦视频一区二区三区 | 91麻豆产精品久久久久久| 奇米色777欧美一区二区| 亚洲自拍偷拍网站| 国产精品色哟哟网站| 久久久精品免费观看| 欧美mv日韩mv国产网站| 欧美精品乱人伦久久久久久| 欧美日韩国产另类一区| 欧美日韩在线精品一区二区三区激情| 色综合网站在线| 一道本成人在线| 色狠狠色噜噜噜综合网| 色综合天天在线| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 国产福利一区在线| 国产黄色成人av| 岛国精品一区二区| 99国产精品久久久久久久久久| 成人aa视频在线观看| 91香蕉视频在线| 91精品1区2区| 欧美日韩一区二区在线观看 | 一区二区欧美视频| 亚洲成av人片| 美女网站色91| 国产精品18久久久久久久久久久久| 国产九九视频一区二区三区|