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

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

?? propertyset.java

?? java 報表 to office文檔: 本包由java語言開發
?? 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一区二区三区免费野_久草精品视频
8v天堂国产在线一区二区| 91精品久久久久久蜜臀| 日韩av在线发布| 欧美激情一区二区三区蜜桃视频 | 91网站最新网址| 极品少妇xxxx精品少妇偷拍| 亚洲综合色区另类av| 久久久久国产免费免费| 制服视频三区第一页精品| 99久免费精品视频在线观看| 国产专区综合网| 国模少妇一区二区三区| 亚洲精品高清视频在线观看| 久久久综合激的五月天| 欧美日韩一区二区三区视频| av在线播放不卡| 国产精品99久久久| 精品一二三四区| 午夜精品成人在线视频| 亚洲色大成网站www久久九九| 久久综合国产精品| 欧美一级夜夜爽| 欧美精品18+| 欧美日韩精品一区二区天天拍小说| 成人高清在线视频| 成人性生交大合| 国产精品99久久久| 国产精品一区在线观看你懂的| 免费观看在线综合| 蜜臀精品久久久久久蜜臀| 天天操天天干天天综合网| 亚洲国产精品影院| 一区二区三区四区乱视频| 亚洲欧美乱综合| 亚洲乱码中文字幕| 亚洲一级在线观看| 亚洲国产精品视频| 午夜私人影院久久久久| 亚洲国产美女搞黄色| 亚洲一区二区三区四区在线观看| 亚洲女子a中天字幕| 国产精品高潮呻吟| 亚洲丝袜美腿综合| 一区二区三区四区国产精品| 亚洲欧美日韩国产综合| 亚洲乱码日产精品bd| 一区二区三区精品在线| 亚洲一区中文日韩| 亚洲福利一二三区| 美女脱光内衣内裤视频久久网站| 免费高清在线视频一区·| 久久成人久久鬼色| 国产精品一区二区免费不卡| 国产黄色91视频| 91色在线porny| 色综合激情五月| 91精品婷婷国产综合久久性色 | 精品对白一区国产伦| 久久综合色综合88| 国产精品美女久久久久久久久久久 | 九一九一国产精品| 国产不卡免费视频| 色88888久久久久久影院野外| 日韩欧美成人激情| 久久蜜桃香蕉精品一区二区三区| 国产精品欧美极品| 亚洲国产日日夜夜| 精品亚洲成a人| 99精品久久只有精品| 欧美日韩精品欧美日韩精品一| 日韩精品在线看片z| 中文字幕欧美激情| 亚洲成人激情综合网| 黄网站免费久久| 一本色道久久综合亚洲aⅴ蜜桃| 91麻豆精品国产91久久久| 久久久久久久久久久久电影| 综合电影一区二区三区| 日本va欧美va精品发布| 波多野结衣中文一区| 6080日韩午夜伦伦午夜伦| 中文字幕电影一区| 天堂蜜桃一区二区三区| 成人免费黄色大片| 91精品久久久久久蜜臀| 18成人在线视频| 精品在线播放午夜| 欧美午夜一区二区三区免费大片| 欧美成人伊人久久综合网| 最新不卡av在线| 国产自产2019最新不卡| 欧美日韩一二三| 欧美国产精品一区二区三区| 偷窥少妇高潮呻吟av久久免费| 国产激情一区二区三区| 9191精品国产综合久久久久久 | 中文字幕二三区不卡| 日本系列欧美系列| 色婷婷亚洲一区二区三区| 欧美变态tickling挠脚心| 亚洲乱码国产乱码精品精小说 | 国产激情视频一区二区三区欧美| 欧美影视一区二区三区| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲一区二区三区视频在线播放 | 午夜精品久久久久久| 看电视剧不卡顿的网站| 一本久道久久综合中文字幕| 亚洲精品一区二区三区99| 亚洲一区二区美女| 亚洲成人av免费| 91片黄在线观看| 欧美日韩成人在线| 午夜电影网一区| 777xxx欧美| 男人操女人的视频在线观看欧美| 欧美精品一二三四| 蜜桃视频免费观看一区| 精品电影一区二区| 国产激情91久久精品导航| 国产精品国产三级国产普通话99| 91在线视频观看| 亚洲图片欧美视频| 日韩欧美久久久| 国产精品91一区二区| 亚洲视频在线观看三级| 欧美日韩国产精选| 精品一区二区综合| 国产精品萝li| 欧美少妇性性性| 国产乱一区二区| 亚洲丝袜制服诱惑| 欧美一区二区三区免费观看视频 | 欧美日韩亚洲国产综合| 天天影视网天天综合色在线播放| 精品久久国产97色综合| 99久久免费视频.com| 亚洲制服欧美中文字幕中文字幕| 正在播放一区二区| 成人毛片视频在线观看| 亚洲h在线观看| 国产日韩欧美在线一区| 91官网在线观看| 精品亚洲国内自在自线福利| 日韩一区日韩二区| 日韩视频免费观看高清完整版| 粉嫩一区二区三区在线看| 亚洲超碰精品一区二区| 久久日一线二线三线suv| 日本精品一区二区三区高清| 激情综合亚洲精品| 亚洲精品成人悠悠色影视| 精品久久久久久最新网址| 色婷婷综合久久久久中文| 国产精品综合视频| 亚洲成a人在线观看| 2023国产精品自拍| 欧美视频在线观看一区| 成人激情综合网站| 日本不卡一二三区黄网| 亚洲丝袜自拍清纯另类| 久久亚洲春色中文字幕久久久| 在线视频中文字幕一区二区| 国产精品影视天天线| 天天综合网天天综合色| 亚洲人精品午夜| 久久色视频免费观看| 在线播放91灌醉迷j高跟美女| 成人a区在线观看| 久久99精品国产麻豆婷婷洗澡| 亚洲综合图片区| 国产女同互慰高潮91漫画| 日韩午夜激情视频| 日本精品一区二区三区四区的功能| 国产成人午夜精品影院观看视频 | 国产精品视频一二三| 在线不卡a资源高清| 色一情一乱一乱一91av| 国产乱人伦偷精品视频不卡| 视频一区二区欧美| 亚洲一区二区三区不卡国产欧美| 国产精品女主播av| 国产欧美一区二区精品秋霞影院 | 国产日韩综合av| 日韩欧美国产1| 91精品在线免费| 欧美午夜精品久久久| 色噜噜狠狠成人网p站| 国产精品1区二区.| 国产一区二区在线看| 理论片日本一区| 热久久久久久久| 日韩综合在线视频| 亚洲h动漫在线| 偷偷要91色婷婷| 午夜精品久久久久久不卡8050| 亚洲一区二区三区四区在线免费观看 | 国产精品久久99| 国产精品青草久久| 国产精品久久久久久亚洲毛片|