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

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

?? propertyset.java

?? java 報表 to office文檔: 本包由java語言開發
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
        stream.reset();        return isPropertySetStream;    }    /**     * <p>Checks whether a byte array is in the Horrible Property Set     * Format.</p>     *     * @param src The byte array to check.     * @param offset The offset in the byte array.     * @param length The significant number of bytes in the byte     * array. Only this number of bytes will be checked.     * @return <code>true</code> if the byte array is a property set     * stream, <code>false</code> if not.     */    public static boolean isPropertySetStream(final byte[] src,                                              final int offset,                                              final int length)    {        /* FIXME (3): Ensure that at most "length" bytes are read. */        /*         * Read the header fields of the stream. They must always be         * there.         */        int o = offset;        final int byteOrder = LittleEndian.getUShort(src, o);        o += LittleEndian.SHORT_SIZE;        byte[] temp = new byte[LittleEndian.SHORT_SIZE];        LittleEndian.putShort(temp, (short) byteOrder);        if (!Util.equal(temp, BYTE_ORDER_ASSERTION))            return false;        final int format = LittleEndian.getUShort(src, o);        o += LittleEndian.SHORT_SIZE;        temp = new byte[LittleEndian.SHORT_SIZE];        LittleEndian.putShort(temp, (short) format);        if (!Util.equal(temp, FORMAT_ASSERTION))            return false;        // final long osVersion = LittleEndian.getUInt(src, offset);        o += LittleEndian.INT_SIZE;        // final ClassID classID = new ClassID(src, offset);        o += ClassID.LENGTH;        final long sectionCount = LittleEndian.getUInt(src, o);        o += LittleEndian.INT_SIZE;        if (sectionCount < 1)            return false;        return true;    }    /**     * <p>Initializes this {@link PropertySet} instance from a byte     * array. The method assumes that it has been checked already that     * the byte array indeed represents a property set stream. It does     * no more checks on its own.</p>     *     * @param src Byte array containing the property set stream     * @param offset The property set stream starts at this offset     * from the beginning of <var>src</src>     * @param length Length of the property set stream.     */    private void init(final byte[] src, final int offset, final int length)    throws UnsupportedEncodingException    {        /* FIXME (3): Ensure that at most "length" bytes are read. */                /*         * Read the stream's header fields.         */        int o = offset;        byteOrder = LittleEndian.getUShort(src, o);        o += LittleEndian.SHORT_SIZE;        format = LittleEndian.getUShort(src, o);        o += LittleEndian.SHORT_SIZE;        osVersion = (int) LittleEndian.getUInt(src, o);        o += LittleEndian.INT_SIZE;        classID = new ClassID(src, o);        o += ClassID.LENGTH;        final int sectionCount = LittleEndian.getInt(src, o);        o += LittleEndian.INT_SIZE;        if (sectionCount <= 0)            throw new HPSFRuntimeException("Section count " + sectionCount +                                           " must be greater than 0.");        /*         * Read the sections, which are following the header. They         * start with an array of section descriptions. Each one         * consists of a format ID telling what the section contains         * and an offset telling how many bytes from the start of the         * stream the section begins.         */        /*         * Most property sets have only one section. The Document         * Summary Information stream has 2. Everything else is a rare         * exception and is no longer fostered by Microsoft.         */        sections = new ArrayList(sectionCount);        /*         * Loop over the section descriptor array. Each descriptor         * consists of a ClassID and a DWord, and we have to increment         * "offset" accordingly.         */        for (int i = 0; i < sectionCount; i++)        {            final Section s = new Section(src, o);            o += ClassID.LENGTH + LittleEndian.INT_SIZE;            sections.add(s);        }    }    /**     * <p>Checks whether this {@link PropertySet} represents a Summary     * Information.</p>     *     * @return <code>true</code> if this {@link PropertySet}     * represents a Summary Information, else <code>false</code>.     */    public boolean isSummaryInformation()    {        return Util.equal(((Section) sections.get(0)).getFormatID().getBytes(),                          SectionIDMap.SUMMARY_INFORMATION_ID);    }    /**     * <p>Checks whether this {@link PropertySet} is a Document     * Summary Information.</p>     *     * @return <code>true</code> if this {@link PropertySet}     * represents a Document Summary Information, else <code>false</code>.     */    public boolean isDocumentSummaryInformation()    {        return Util.equal(((Section) sections.get(0)).getFormatID().getBytes(),                          SectionIDMap.DOCUMENT_SUMMARY_INFORMATION_ID);    }    /**     * <p>Convenience method returning the {@link Property} array     * contained in this property set. It is a shortcut for getting     * the {@link PropertySet}'s {@link Section}s list and then     * getting the {@link Property} array from the first {@link     * Section}. However, it can only be used if the {@link     * PropertySet} contains exactly one {@link Section}, so check     * {@link #getSectionCount} first!</p>     *     * @return The properties of the only {@link Section} of this     * {@link PropertySet}.     * @throws NoSingleSectionException if the {@link PropertySet} has     * more or less than one {@link Section}.     */    public Property[] getProperties()        throws NoSingleSectionException    {        return getSingleSection().getProperties();    }    /**     * <p>Convenience method returning the value of the property with     * the specified ID. If the property is not available,     * <code>null</code> is returned and a subsequent call to {@link     * #wasNull} will return <code>true</code> .</p>     *     * @param id The property ID     * @return The property value     * @throws NoSingleSectionException if the {@link PropertySet} has     * more or less than one {@link Section}.     */    protected Object getProperty(final int id) throws NoSingleSectionException    {        return getSingleSection().getProperty(id);    }    /**     * <p>Convenience method returning the value of a boolean property     * with the specified ID. If the property is not available,     * <code>false</code> is returned. A subsequent call to {@link     * #wasNull} will return <code>true</code> to let the caller     * distinguish that case from a real property value of     * <code>false</code>.</p>     *     * @param id The property ID     * @return The property value     * @throws NoSingleSectionException if the {@link PropertySet} has     * more or less than one {@link Section}.     */    protected boolean getPropertyBooleanValue(final int id)        throws NoSingleSectionException    {        return getSingleSection().getPropertyBooleanValue(id);    }    /**     * <p>Convenience method returning the value of the numeric     * property with the specified ID. If the property is not     * available, 0 is returned. A subsequent call to {@link #wasNull}     * will return <code>true</code> to let the caller distinguish     * that case from a real property value of 0.</p>     *     * @param id The property ID     * @return The propertyIntValue value     * @throws NoSingleSectionException if the {@link PropertySet} has     * more or less than one {@link Section}.     */    protected int getPropertyIntValue(final int id)        throws NoSingleSectionException    {        return getSingleSection().getPropertyIntValue(id);    }    /**     * <p>Checks whether the property which the last call to {@link     * #getPropertyIntValue} or {@link #getProperty} tried to access     * was available or not. This information might be important for     * callers of {@link #getPropertyIntValue} since the latter     * returns 0 if the property does not exist. Using {@link     * #wasNull}, the caller can distiguish this case from a     * property's real value of 0.</p>     *     * @return <code>true</code> if the last call to {@link     * #getPropertyIntValue} or {@link #getProperty} tried to access a     * property that was not available, else <code>false</code>.     * @throws NoSingleSectionException if the {@link PropertySet} has     * more than one {@link Section}.     */    public boolean wasNull() throws NoSingleSectionException    {        return getSingleSection().wasNull();    }    /**     * <p>If the {@link PropertySet} has only a single section this     * method returns it.</p>     *     * @return The singleSection value     */    public Section getSingleSection()    {        final int sectionCount = getSectionCount();        if (sectionCount != 1)            throw new NoSingleSectionException                ("Property set contains " + sectionCount + " sections.");        return ((Section) sections.get(0));    }    /**     * <p>Returns <code>true</code> if the <code>PropertySet</code> is equal     * to the specified parameter, else <code>false</code>.</p>     *     * @param o the object to compare this <code>PropertySet</code> with     *      * @return <code>true</code> if the objects are equal, <code>false</code>     * if not     */    public boolean equals(final Object o)    {        if (o == null || !(o instanceof PropertySet))            return false;        final PropertySet ps = (PropertySet) o;        int byteOrder1 = ps.getByteOrder();        int byteOrder2 = getByteOrder();        ClassID classID1 = ps.getClassID();        ClassID classID2 = getClassID();        int format1 = ps.getFormat();        int format2 = getFormat();        int osVersion1 = ps.getOSVersion();        int osVersion2 = getOSVersion();        int sectionCount1 = ps.getSectionCount();        int sectionCount2 = getSectionCount();        if (byteOrder1 != byteOrder2      ||            !classID1.equals(classID2)    ||            format1 != format2            ||            osVersion1 != osVersion2      ||            sectionCount1 != sectionCount2)            return false;        /* Compare the sections: */        return Util.equals(getSections(), ps.getSections());    }    /**     * @see Object#hashCode()     */    public int hashCode()    {        throw new UnsupportedOperationException("FIXME: Not yet implemented.");    }    /**     * @see Object#toString()     */    public String toString()    {        final StringBuffer b = new StringBuffer();        final int sectionCount = getSectionCount();        b.append(getClass().getName());        b.append('[');        b.append("byteOrder: ");        b.append(getByteOrder());        b.append(", classID: ");        b.append(getClassID());        b.append(", format: ");        b.append(getFormat());        b.append(", OSVersion: ");        b.append(getOSVersion());        b.append(", sectionCount: ");        b.append(sectionCount);        b.append(", sections: [\n");        final List sections = getSections();        for (int i = 0; i < sectionCount; i++)            b.append(((Section) sections.get(i)).toString());        b.append(']');        b.append(']');        return b.toString();    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99精品久久久久久| 日韩精品电影一区亚洲| 欧美日韩国产高清一区二区三区 | 日韩中文字幕区一区有砖一区| 久久亚洲捆绑美女| 欧美性一级生活| 国产成人精品亚洲777人妖| 亚洲成人免费看| 国产精品丝袜久久久久久app| 欧美日韩国产综合草草| 99精品国产99久久久久久白柏 | 久久精品72免费观看| 夜夜精品视频一区二区| 国产三级欧美三级| 精品国精品自拍自在线| 欧美一区二区在线播放| 欧美综合色免费| 成人的网站免费观看| 国产一区二区久久| 麻豆精品一区二区| 日本三级亚洲精品| 亚洲国产中文字幕在线视频综合 | 国产精品网站在线播放| 精品国产第一区二区三区观看体验| 91亚洲精华国产精华精华液| 国产成人自拍网| 国产高清无密码一区二区三区| 蜜臀精品一区二区三区在线观看 | 91在线你懂得| 91性感美女视频| 99久久久久久99| 91麻豆文化传媒在线观看| 成人av在线一区二区三区| 国产aⅴ精品一区二区三区色成熟| 精品一区二区三区在线视频| 毛片基地黄久久久久久天堂| 日产欧产美韩系列久久99| 日韩不卡一区二区三区 | 婷婷综合在线观看| 亚洲成人精品一区| 三级精品在线观看| 另类人妖一区二区av| 奇米综合一区二区三区精品视频| 午夜国产不卡在线观看视频| 日本在线不卡视频| 免费欧美在线视频| 精品一区二区在线看| 国产精品77777竹菊影视小说| 国产高清亚洲一区| 9人人澡人人爽人人精品| 99视频精品在线| 欧美吞精做爰啪啪高潮| 制服丝袜中文字幕亚洲| 精品久久久久久无| 国产日本一区二区| 18欧美乱大交hd1984| 一区二区三区四区不卡视频| 亚洲一区二区三区不卡国产欧美| 首页国产丝袜综合| 国产自产视频一区二区三区| 国产不卡免费视频| 欧美写真视频网站| 欧美成人性战久久| 国产精品网站在线观看| 亚洲一区二区三区四区在线免费观看| 偷拍日韩校园综合在线| 国产麻豆精品视频| 色哟哟精品一区| 日韩亚洲欧美综合| 亚洲国产精品国自产拍av| 亚洲理论在线观看| 麻豆精品在线观看| 成人国产亚洲欧美成人综合网| 欧美网站大全在线观看| 久久久蜜桃精品| 一区二区三区精密机械公司| 日本vs亚洲vs韩国一区三区二区| 夫妻av一区二区| 欧美午夜精品久久久久久超碰| 欧美r级电影在线观看| 成人欧美一区二区三区视频网页| 日韩制服丝袜先锋影音| 国产成人午夜99999| 欧美精品精品一区| 国产欧美日韩在线观看| 亚洲线精品一区二区三区八戒| 国模娜娜一区二区三区| 欧美色视频一区| 中文字幕免费不卡在线| 日本不卡一区二区| 91精品福利视频| 久久美女高清视频| 视频一区二区不卡| 91猫先生在线| 国产精品网站在线| 激情五月婷婷综合网| 欧美日韩一区二区在线视频| 欧美激情一区二区三区在线| 蜜桃av一区二区在线观看| 91天堂素人约啪| 国产欧美精品一区二区色综合朱莉| 亚洲成人动漫一区| 色婷婷av一区二区三区gif| 国产调教视频一区| 久久精品国产免费看久久精品| 在线视频国内自拍亚洲视频| 国产午夜精品美女毛片视频| 天天色天天爱天天射综合| 色综合欧美在线视频区| 中文字幕欧美激情一区| 国产精品亚洲视频| 精品理论电影在线| 免费成人美女在线观看.| 欧美日韩精品免费观看视频 | 中文字幕高清不卡| 国内精品国产成人| 欧美一区二区福利在线| 亚洲高清久久久| 欧美午夜精品久久久久久孕妇| 亚洲欧美日本韩国| 99精品视频在线观看| 国产精品色一区二区三区| 精品一二三四区| www激情久久| 老司机精品视频线观看86| 欧美一区二视频| 日本成人中文字幕| 欧美成人官网二区| 蜜桃一区二区三区在线观看| 欧美电影影音先锋| 蜜臂av日日欢夜夜爽一区| 91.xcao| 日日噜噜夜夜狠狠视频欧美人| 欧美视频第二页| 日欧美一区二区| 欧美成人精品1314www| 国产在线视频精品一区| 久久久蜜桃精品| 成人精品视频一区| 亚洲天堂免费看| 在线观看日韩高清av| 亚洲国产日日夜夜| 欧美一区二区三区免费大片| 另类小说图片综合网| 久久久久99精品国产片| 高清国产午夜精品久久久久久| 中文字幕精品—区二区四季| 91女神在线视频| 午夜不卡av免费| 亚洲精品在线观| 9久草视频在线视频精品| 一区二区欧美在线观看| 欧美人与性动xxxx| 国产综合久久久久久鬼色| 亚洲国产精品高清| 欧美在线免费观看亚洲| 日韩中文字幕一区二区三区| 精品久久久久一区| 99re热视频这里只精品| 日韩精品国产欧美| 久久久久久久久一| 一本高清dvd不卡在线观看| 性做久久久久久免费观看欧美| 日韩限制级电影在线观看| 春色校园综合激情亚洲| 亚洲综合成人网| 久久久久国产精品厨房| 色欲综合视频天天天| 青青草97国产精品免费观看无弹窗版| 久久久久久免费| 欧美性高清videossexo| 国内欧美视频一区二区| 亚洲狠狠丁香婷婷综合久久久| 日韩欧美另类在线| 一本一道久久a久久精品| 蜜臀av一区二区在线观看| 日本一区二区三区高清不卡| 欧美三级电影精品| 国产成人午夜视频| 三级欧美在线一区| 一区在线播放视频| 日韩区在线观看| 91年精品国产| 国产一区二区美女诱惑| 一区二区三区欧美激情| 久久久久亚洲蜜桃| 在线播放视频一区| jlzzjlzz欧美大全| 精彩视频一区二区三区| 亚洲小说欧美激情另类| 国产精品区一区二区三区| 日韩三级视频在线观看| 在线精品视频一区二区三四| 国产老妇另类xxxxx| 亚洲成av人片在线| 亚洲视频一区二区在线| 久久嫩草精品久久久精品| 69堂精品视频| 欧美色综合网站| 99国产精品久久久久久久久久|