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

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

?? propertyset.java

?? java 報表 to office文檔: 本包由java語言開發(fā)
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* ====================================================================   Copyright 2002-2004   Apache Software Foundation   Licensed under the Apache License, Version 2.0 (the "License");   you may not use this file except in compliance with the License.   You may obtain a copy of the License at       http://www.apache.org/licenses/LICENSE-2.0   Unless required by applicable law or agreed to in writing, software   distributed under the License is distributed on an "AS IS" BASIS,   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   See the License for the specific language governing permissions and   limitations under the License.==================================================================== */        package org.apache.poi.hpsf;import java.io.IOException;import java.io.InputStream;import java.io.UnsupportedEncodingException;import java.util.ArrayList;import java.util.List;import org.apache.poi.hpsf.wellknown.SectionIDMap;import org.apache.poi.util.LittleEndian;/** * <p>Represents a property set in the Horrible Property Set Format * (HPSF). These are usually metadata of a Microsoft Office * document.</p> * * <p>An application that wants to access these metadata should create * an instance of this class or one of its subclasses by calling the * factory method {@link PropertySetFactory#create} and then retrieve * the information its needs by calling appropriate methods.</p> * * <p>{@link PropertySetFactory#create} does its work by calling one * of the constructors {@link PropertySet#PropertySet(InputStream)} or * {@link PropertySet#PropertySet(byte[])}. If the constructor's * argument is not in the Horrible Property Set Format, i.e. not a * property set stream, or if any other error occurs, an appropriate * exception is thrown.</p> * * <p>A {@link PropertySet} has a list of {@link Section}s, and each * {@link Section} has a {@link Property} array. Use {@link * #getSections} to retrieve the {@link Section}s, then call {@link * Section#getProperties} for each {@link Section} to get hold of the * {@link Property} arrays.</p> Since the vast majority of {@link * PropertySet}s contains only a single {@link Section}, the * convenience method {@link #getProperties} returns the properties of * a {@link PropertySet}'s {@link Section} (throwing a {@link * NoSingleSectionException} if the {@link PropertySet} contains more * (or less) than exactly one {@link Section}).</p> * * @author Rainer Klute <a * href="mailto:klute@rainer-klute.de">&lt;klute@rainer-klute.de&gt;</a> * @author Drew Varner (Drew.Varner hanginIn sc.edu) * @version $Id: PropertySet.java,v 1.19 2004/08/31 17:59:49 klute Exp $ * @since 2002-02-09 */public class PropertySet{    /**     * <p>The "byteOrder" field must equal this value.</p>     */    static final byte[] BYTE_ORDER_ASSERTION =        new byte[] {(byte) 0xFE, (byte) 0xFF};    /**     * <p>Specifies this {@link PropertySet}'s byte order. See the     * HPFS documentation for details!</p>     */    protected int byteOrder;    /**     * <p>Returns the property set stream's low-level "byte order"     * field. It is always <tt>0xFFFE</tt> .</p>     *     * @return The property set stream's low-level "byte order" field.     */    public int getByteOrder()    {        return byteOrder;    }    /**     * <p>The "format" field must equal this value.</p>     */    static final byte[] FORMAT_ASSERTION =        new byte[]{(byte) 0x00, (byte) 0x00};    /**     * <p>Specifies this {@link PropertySet}'s format. See the HPFS     * documentation for details!</p>     */    protected int format;    /**     * <p>Returns the property set stream's low-level "format"     * field. It is always <tt>0x0000</tt> .</p>     *     * @return The property set stream's low-level "format" field.     */    public int getFormat()    {        return format;    }     /**     * <p>Specifies the version of the operating system that created     * this {@link PropertySet}. See the HPFS documentation for     * details!</p>     */    protected int osVersion;    /**     * <p>If the OS version field holds this value the property set stream was     * created on a 16-bit Windows system.</p>     */    public static final int OS_WIN16     = 0x0000;    /**     * <p>If the OS version field holds this value the property set stream was     * created on a Macintosh system.</p>     */    public static final int OS_MACINTOSH = 0x0001;    /**     * <p>If the OS version field holds this value the property set stream was     * created on a 32-bit Windows system.</p>     */    public static final int OS_WIN32     = 0x0002;    /**     * <p>Returns the property set stream's low-level "OS version"     * field.</p>     *     * @return The property set stream's low-level "OS version" field.     */    public int getOSVersion()    {        return osVersion;    }    /**     * <p>Specifies this {@link PropertySet}'s "classID" field. See     * the HPFS documentation for details!</p>     */    protected ClassID classID;    /**     * <p>Returns the property set stream's low-level "class ID"     * field.</p>     *     * @return The property set stream's low-level "class ID" field.     */    public ClassID getClassID()    {        return classID;    }    /**     * <p>Returns the number of {@link Section}s in the property     * set.</p>     *     * @return The number of {@link Section}s in the property set.     */    public int getSectionCount()    {        return sections.size();    }    /**     * <p>The sections in this {@link PropertySet}.</p>     */    protected List sections;    /**     * <p>Returns the {@link Section}s in the property set.</p>     *     * @return The {@link Section}s in the property set.     */    public List getSections()    {        return sections;    }    /**     * <p>Creates an empty (uninitialized) {@link PropertySet}.</p>     *     * <p><strong>Please note:</strong> For the time being this     * constructor is protected since it is used for internal purposes     * only, but expect it to become public once the property set's     * writing functionality is implemented.</p>     */    protected PropertySet()    { }    /**     * <p>Creates a {@link PropertySet} instance from an {@link     * InputStream} in the Horrible Property Set Format.</p>     *     * <p>The constructor reads the first few bytes from the stream     * and determines whether it is really a property set stream. If     * it is, it parses the rest of the stream. If it is not, it     * resets the stream to its beginning in order to let other     * components mess around with the data and throws an     * exception.</p>     *     * @param stream Holds the data making out the property set     * stream.     * @throws MarkUnsupportedException if the stream does not support     * the {@link InputStream#markSupported} method.     * @throws IOException if the {@link InputStream} cannot not be     * accessed as needed.     * @exception NoPropertySetStreamException if the input stream does not     * contain a property set.     * @exception UnsupportedEncodingException if a character encoding is not     * supported.     */    public PropertySet(final InputStream stream)        throws NoPropertySetStreamException, MarkUnsupportedException,               IOException, UnsupportedEncodingException    {        if (isPropertySetStream(stream))        {            final int avail = stream.available();            final byte[] buffer = new byte[avail];            stream.read(buffer, 0, buffer.length);            init(buffer, 0, buffer.length);        }        else            throw new NoPropertySetStreamException();    }    /**     * <p>Creates a {@link PropertySet} instance from a byte array     * that represents a stream in the Horrible Property Set     * Format.</p>     *     * @param stream The byte array holding the stream data.     * @param offset The offset in <var>stream</var> where the stream     * data begin. If the stream data begin with the first byte in the     * array, the <var>offset</var> is 0.     * @param length The length of the stream data.     * @throws NoPropertySetStreamException if the byte array is not a     * property set stream.     *      * @exception UnsupportedEncodingException if the codepage is not supported.     */    public PropertySet(final byte[] stream, final int offset, final int length)        throws NoPropertySetStreamException, UnsupportedEncodingException    {        if (isPropertySetStream(stream, offset, length))            init(stream, offset, length);        else            throw new NoPropertySetStreamException();    }    /**     * <p>Creates a {@link PropertySet} instance from a byte array     * that represents a stream in the Horrible Property Set     * Format.</p>     *     * @param stream The byte array holding the stream data. The     * complete byte array contents is the stream data.     * @throws NoPropertySetStreamException if the byte array is not a     * property set stream.     *      * @exception UnsupportedEncodingException if the codepage is not supported.     */    public PropertySet(final byte[] stream)    throws NoPropertySetStreamException, UnsupportedEncodingException    {        this(stream, 0, stream.length);    }    /**     * <p>Checks whether an {@link InputStream} is in the Horrible     * Property Set Format.</p>     *     * @param stream The {@link InputStream} to check. In order to     * perform the check, the method reads the first bytes from the     * stream. After reading, the stream is reset to the position it     * had before reading. The {@link InputStream} must support the     * {@link InputStream#mark} method.     * @return <code>true</code> if the stream is a property set     * stream, else <code>false</code>.     * @throws MarkUnsupportedException if the {@link InputStream}     * does not support the {@link InputStream#mark} method.     * @exception IOException if an I/O error occurs     */    public static boolean isPropertySetStream(final InputStream stream)        throws MarkUnsupportedException, IOException    {        /*         * Read at most this many bytes.         */        final int BUFFER_SIZE = 50;        /*         * Mark the current position in the stream so that we can         * reset to this position if the stream does not contain a         * property set.         */        if (!stream.markSupported())            throw new MarkUnsupportedException(stream.getClass().getName());        stream.mark(BUFFER_SIZE);        /*         * Read a couple of bytes from the stream.         */        final byte[] buffer = new byte[BUFFER_SIZE];        final int bytes =            stream.read(buffer, 0,                        Math.min(buffer.length, stream.available()));        final boolean isPropertySetStream =            isPropertySetStream(buffer, 0, bytes);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线播放亚洲一区| 亚洲h动漫在线| 国产精品美女视频| 久久久久久久久伊人| 精品国产一区二区精华| 久久综合成人精品亚洲另类欧美 | 亚洲线精品一区二区三区| 一区二区三区四区中文字幕| 一区二区三区久久久| 一级日本不卡的影视| 亚洲综合网站在线观看| 亚洲影院在线观看| 日韩极品在线观看| 久久精品国产精品亚洲综合| 国产一区二区视频在线| 国产传媒一区在线| 91浏览器在线视频| 欧美探花视频资源| 欧美一级xxx| 久久久亚洲精华液精华液精华液| 久久精品亚洲国产奇米99| 国产精品嫩草影院av蜜臀| 亚洲视频一二三区| 爽好久久久欧美精品| 九色综合狠狠综合久久| 高清不卡一二三区| 在线中文字幕不卡| 日韩视频在线观看一区二区| 久久精品国产精品亚洲红杏| 国产一区二区三区| 色狠狠一区二区三区香蕉| 欧美日韩免费观看一区三区| 精品国产91洋老外米糕| 国产精品久久久久久亚洲毛片 | a4yy欧美一区二区三区| 91福利社在线观看| 精品国产一区二区三区不卡 | 亚洲一区二区三区不卡国产欧美| 日本网站在线观看一区二区三区| 国模少妇一区二区三区| 99久久免费精品高清特色大片| 欧美体内she精视频| 久久久久亚洲综合| 一区二区三区自拍| 精品在线你懂的| 99久久精品国产精品久久| 欧美久久一区二区| 国产亚洲欧美日韩在线一区| 一区二区三区av电影| 久久99久久精品| 一本在线高清不卡dvd| 日韩一区二区视频| 亚洲丝袜制服诱惑| 久久99热狠狠色一区二区| 99麻豆久久久国产精品免费| 4438成人网| 一区在线中文字幕| 美国三级日本三级久久99| 91在线观看成人| 久久色中文字幕| 亚洲h在线观看| www.欧美色图| 久久久久亚洲蜜桃| 日本欧美肥老太交大片| 91在线国内视频| 久久久久久久久蜜桃| 亚洲高清视频在线| 99视频一区二区三区| 久久久久久综合| 美国十次了思思久久精品导航| 欧美影院一区二区三区| 国产精品毛片高清在线完整版| 裸体健美xxxx欧美裸体表演| 欧洲人成人精品| 亚洲欧美怡红院| 激情偷乱视频一区二区三区| 337p亚洲精品色噜噜噜| 一区二区三区鲁丝不卡| 成年人午夜久久久| 国产色产综合色产在线视频| 久久国产福利国产秒拍| 欧美老女人在线| 亚洲午夜成aⅴ人片| 色综合av在线| 亚洲视频小说图片| 99久久伊人精品| 中文字幕国产一区二区| 国产精品一区在线| 久久综合狠狠综合久久综合88| 美国av一区二区| 日韩免费视频一区二区| 美女网站视频久久| 欧美一区二区播放| 日本不卡一区二区三区| 欧美人与z0zoxxxx视频| 亚洲国产成人高清精品| 欧美午夜在线一二页| 一区二区在线看| 91久久精品一区二区三区| 亚洲欧美自拍偷拍| 91一区二区三区在线播放| 国产精品久久久99| 99精品偷自拍| 亚洲男人电影天堂| 欧美亚洲禁片免费| 亚洲在线观看免费视频| 欧美视频你懂的| 水蜜桃久久夜色精品一区的特点 | 一区二区三区美女视频| 欧美综合一区二区| 视频一区国产视频| 日韩视频在线你懂得| 精品一区二区三区在线观看 | 亚洲午夜免费福利视频| 欧美日韩精品高清| 日本欧美在线观看| 精品国产亚洲在线| 国产成人在线免费| 亚洲色图视频免费播放| 欧美日韩在线直播| 美腿丝袜在线亚洲一区| 国产三级欧美三级日产三级99| 国产精品99久久不卡二区| 国产精品你懂的在线| 在线观看免费视频综合| 免费看欧美女人艹b| 久久久精品综合| 99热这里都是精品| 日韩精品免费视频人成| 欧美精品一区二| 99久久婷婷国产综合精品| 亚洲高清视频中文字幕| 欧美精品一区二区三区在线| 大胆亚洲人体视频| 亚洲国产综合在线| www一区二区| 色综合久久88色综合天天| 日韩精品免费视频人成| 国产拍揄自揄精品视频麻豆| 色婷婷av一区二区三区之一色屋| 天堂一区二区在线| 久久久99久久精品欧美| 色先锋资源久久综合| 久久精品噜噜噜成人88aⅴ | 成人妖精视频yjsp地址| 亚洲综合一区在线| 欧美精品一区二区三区蜜臀| 99久久综合色| 精品在线观看免费| 亚洲综合色自拍一区| 精品国产一区二区三区久久久蜜月| k8久久久一区二区三区| 天堂蜜桃91精品| 欧美—级在线免费片| 欧美夫妻性生活| 国产东北露脸精品视频| 石原莉奈一区二区三区在线观看| 国产三级一区二区三区| 91精品欧美久久久久久动漫| 成人久久18免费网站麻豆| 天堂在线一区二区| 综合激情网...| 久久婷婷久久一区二区三区| 欧美午夜免费电影| 成人精品国产一区二区4080| 久久狠狠亚洲综合| 一卡二卡欧美日韩| 国产精品美女久久福利网站| 精品久久人人做人人爽| 91福利在线观看| 成人激情黄色小说| 久久疯狂做爰流白浆xx| 亚洲国产日韩在线一区模特| 欧美激情在线看| 久久亚洲一区二区三区四区| 欧美美女激情18p| 日本国产一区二区| 成人av集中营| 国产一区二区精品久久99| 日一区二区三区| 亚洲综合精品久久| 国产精品拍天天在线| 精品国产第一区二区三区观看体验| 欧美精品电影在线播放| 色8久久人人97超碰香蕉987| 成人av电影在线| 成人av在线资源网站| 国产制服丝袜一区| 毛片一区二区三区| 日韩精品成人一区二区三区| 亚洲午夜久久久久中文字幕久| 亚洲精品高清在线| 亚洲视频小说图片| 亚洲色图一区二区三区| 国产精品日产欧美久久久久| 国产日韩欧美高清在线| 国产亚洲va综合人人澡精品| 久久亚洲一区二区三区明星换脸 | 久久99国产精品麻豆| 日本sm残虐另类|